Widget

From Mibbit Wiki
Revision as of 18:56, 26 November 2008 by Hercule (talk | contribs) (no iframe code generated any more)
Jump to: navigation, search

Wiki Home | FAQ | Features | IRC Commands | IRC Modes | Widget Information | Widget: WebIRC Server Setup | URI Parameters | Wish List | Registration Information | Mibbit Staff

Home | Quick Start Guide | Live Mibbit Help


If you'd like to have webchat on your own website, then you could use a Java applet (slow, ugly, and not very accessible), or you could use Mibbit! example

The first step, is to decide where you want your users to go. You can either create a channel on irc.mibbit.com or if you manage your own irc server, please contact Mibbit and ask for it to be authorized.

The basic URL for the Mibbit Widget is http://widget.mibbit.com/

Some of the parameters you can pass are:

  • nick - If you do not specify this, a random one will be chosen eg mib_6d7s8euf
  • channel - A single channel that the user will be directed to (multiple channels only on some servers like efnet).
  • server - This defaults to irc.mibbit.com.
  • autoConnect=true - avoids the connect-form. Additionally an op (using a mibbit client) must set "/autoconnect on" in your channel.
  • settings - Unique "Prefs" ID (taken from a full Mibbit.com account). See Widget Configuration and Skins.

Full list of defaults: Uri_parameters, example URL:

http://widget.mibbit.com/?server=irc.freenode.net&channel=%23defocus&settings=c76462e5055bace06e32d325963b39f2

Please note you must urlencode all parameters. So #foo becomes %23foo etc.

You can use the Widget-Manager to create a link for an iframe or for a popup.


Widget Configuration

Widget configuration is best done through passing a unique settings ID to the widget. To do this, create an account at the Widget-Manager. Then go into the preferences and change the settings to how you want your widget to appear. At the top of the preferences screen there will be a unique ID for your settings (like 7ca12664887d4b6e7a0fa6552f9e0de6). This should be passed to the widget using the &settings= parameter. Example:

http://widget.mibbit.com/?settings=7ca12664887d4b6e7a0fa6552f9e0de6&server=irc.blah.com&channel=%23myChan

Widget parameters

There are many parameters that can be added to the widget by adding them to the URL. For example:

<a href="http://widget.mibbit.com/
?server=irc.freenode.net
&nick=Guest
&channel=%23MibChat
&customprompt=Welcome%20To%20MibChat
&customloading=maybe%20you%20need%20to%20close%20other%20Mibbit%20windows%20first...
&settings=22041f31cac0adf2d1959cdc21aed853" 
target="_blank">start MibChat on irc.freenode.net (new window)</a>
 

View the full parameter lists: Dset and Uri_parameters

Enable Autoconnect For Widget

Make sure that if you are doing this, make sure you are using a Mibbit client, and have operator status or higher.

  1. Send the command /autoconnect on (only once) in your channel
  2. Add &autoConnect=true to the widget's URI
  3. If necessary, remove the old &forcePrompt=xxx from the URI

Linking to Widgets

There are two main ways to link to the Mibbit Widget, and one fringe way.

Linking Through Iframe

Make sure your page has a DTD setup, otherwise IE will not work properly. Place this code at the top of your page:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Then place this code where you want the chat widget to appear:

<iframe width="600" height="380" scrolling="no" frameborder="0"
 src="http://widget.mibbit.com/?channel=%23my_chat&nick=choose_one">
</iframe>
type /nick to change your Nick name, /help, /cs help,
/ns help, or /ms help for available commands

Be sure to change the server and channel to your chatroom

See also: Advanced iframe using PHP to pre-fill a nick like "prefix_<randompart>"

Linking Through Popup

Copy and place this link in your page to open a popup window for the chat widget

<a href='#freenode/test' 
onclick='window.open("http://widget.mibbit.com/?server=irc.freenode.net&channel=%23test&settings=7ca12664887d4b6e7a0fa6552f9e0de6","","width=999,height=555")'>
Join our "#test" chat on Freenode (popup)</a>

The javascript must be on one line. Be sure to change the server, channel and settings to your chatroom/preferences. The embedded URL can be shrunk (and obfuscated) via http://tinyurl.com . The resulting tiny url from the example above: http://tinyurl.com/6qmlr4 .

Linking Through Object Tag

Does not work in Internet Explorer. Use as a last resort.

Copy and place this into your HTML for it to work:

<object id="chat" type="text/html" data=" http://widget.mibbit.com/index.html?server=irc.mibbit.com"></object>

To degrade correctly in IE, place text between the object tags, e.g., "We're sorry, you use a non-standards-compliant browser", and that will be shown instead of a blank spot.

Securing your widget

There is also a secure mode of operation, if you wish you channel to be slightly more secure, or do not want anybody able to have a widget pointing at your channel. With this system, you tell us the server, channel and a password ( tech@mibbit.com ). Then for each url you generate, you must specify a nick (Generate one yourself), and you send over 'authkey' as a param (see Uri_parameters), equal to md5(nick + ":" + password). This means that unless you know the password, embedding to that channel/server is pretty hard. Additionally you can also send us the channel key if the channel is keyed, which then is sent from the mibbit backend to the irc server. Then only people using *your* widget on your site, or people you allow, can enter the channel.