ChatZilla is currently distributed as part of the Mozilla Suite, the SeaMonkey Suite, and is available as an extension for Mozilla Firefox.
Tip: Get ChatZilla here, for Mozilla, SeaMonkey and Firefox.
Note: On all platforms, you will need to restart your browser after installing. If you are using the Quick Launch feature of Mozilla or SeaMonkey, you will need to exit the quick launch icon on your taskbar as well, and on some systems, you may need to restart the operating system.
Mozilla Firefox can uninstall extensions such as ChatZilla as follows:
Mozilla and SeaMonkey do not have an uninstall feature for XPIs, but removing ChatZilla is usually possible.
Warning: The following manual uninstall procedure is provided with no warranty whatsoever.
In SeaMonkey, ChatZilla will need to update some files which are in the application directory (usually this is /usr/local/seamonkey). This directory is normally only writable by root, which will cause problems if you run SeaMonkey normally. You are advised to temporarily make yourself the owner of this directory (for example using the chown tool) and then run SeaMonkey normally, install the update, restart SeaMonkey, and check everything works. After making sure everything is OK, make sure you set root to be the owner of the installation directory again.
If you are using the Mozilla Suite or SeaMonkey, you will need to use the uninstall procedure outlined above. If you are using Mozilla Firefox, you can disable the ChatZilla extension using the following steps:
Tip: You can bookmark this URL, and file it wherever it makes sense to you.
Note: In some rare occasions, a bug in the Mozilla Firefox extension manager will disable the ChatZilla extension right after installing, even though the item does not show disabled in the list. If you can not start ChatZilla as described above (for example, you may get a message saying the IRC protocol is not registered), try disabling ChatZilla, restarting Firefox, re-enabled ChatZilla, and restarting Firefox again.
ChatZilla comes preset with a selection of popular IRC networks, which can be listed via the /networks command. The network names can be clicked to connect to them, or the /attach command can be used.
Tip: ChatZilla allows you to be connected to multiple servers at once, so, unlike some other clients, connecting to a new network or server will not disconnect you from your current network or server. You can manually do that with the /disconnect command.
There is no reason you have to use only the networks provided by ChatZilla - you can connect to any IRC server you like using the /server command. For example, other ways to connect to the Mozilla IRC Network are (the last one uses a secure connection):
The more general /attach command accepts an irc: URL as a parameter. You may omit the irc:// prefix, however. This can be used to connect to a network and channel with a single command, such as /attach moznet/chatzilla, or /attach moznet/killer,isnick.
ChatZilla will work automatically with most configurations as it runs with your browser's networking configuration. There are four main configurations you can use:
The Proxy Type setting is found in ChatZilla's Preferences window, on the General tab in the Connection group. It exists both for Global Settings and for each network. It is only available in ChatZilla 0.9.75 and later.
First, don't panic. It all depends on the error. The most common reasons are the wrong address for the server, or a firewall mis-configuration. The following list will hopefully cover the error you have, but if you are getting a different error try to connect to #chatzilla on irc.mozilla.org and we'll help you resolve the problem.
This error means that ChatZilla could not find the physical server for the name given. It is most likely that the server name specified is not correct, although it could be a problem with the DNS configuration for the server's host or a local DNS problem. Try going to the website for the server or network, if you can find one, and check that the name you used is correct.
This error means that the server's address was found, but it did not respond when contacted. A possible reason for this is that your anti-virus software or firewall software is configured to block IRC. If you have no firewall, or disabling it does not help, the IRC server is probably down.
This error means that the server was found, but it did not wish to let you connect. This could be because the wrong port (6667 in this example) was used; verify that the server is not on a different port (especially if you are trying to connect using SSL) and try again. This error could also mean that the server is having a temporary technical problem.
This error means that the connection was closed before it could be properly connected. The most likely reason for this is that your anti-virus software or firewall software is configured to block IRC.
ZoneAlarm Internet Security is known to block IRC like this; you can fix this by going to IMSecurity > Settings > Advanced and un-ticking the "Block IRC" option.
This error means that ChatZilla was able to open the connection initially, but the connection was then closed unexpectedly. The most likely reason for this is that your anti-virus software or firewall software is configured to block IRC.
McAfee Anti-Virus is known to do this and you will need to unblock the IRC ports to use any IRC client; you can do this from the "Access Protection" area in the "VirusScan Console" by disabling the rules for ports 6666-6669. Consult your anti-virus program's documentation for instructions on how to do this for other anti-virus programs.
Although less common, any computer between you and the server can cause this error, so it could just be a reset or reboot of your DSL router, or a local network configuration change. In these cases, the error should only be temporary, and you will be able to try to connect again in a few seconds (ChatZilla should retry for you).
This message, sometimes worded differently (but will always mentioning "ident" or "identd"), means that the server you tried to connect to requires a special identification service.
Some servers will require you to be running an "ident server" to connect to them, even though this service is only useful if you run a multi-user computer (where many people can connect and share a single computer).
In ChatZilla 0.9.71 and later, you can check the "Enable Identification Server during connection process" box in Preferences, or enter the command /network-pref identd.enabled true to enable ChatZilla's ident server for the current network.
Note: Ident servers listen on TCP port 113. This may mean you need to open/forward this port on any NAT devices or firewalls you use.
Note: On some operating systems, such as Linux and Mac OS X, ident servers must instead run as part of the system. You should consult your system's documentation for more information.
Tip: Some networks only have a few servers that require ident. Trying specific servers may let you connect without ident.
Once you have connected to a server, you can join a channel by using the /join command. For example, if you have connected to MozNet, you can join the ChatZilla channel.
Tip: Unsure what channels there are on a particular server? Just connect, and select IRC > Join Channel... and browse through the list of channels.
Tip: The command /j is an alias (shortcut) for /join.
If you omit a channel type prefix (e.g. #, &, + or !) ChatZilla will prepend the network's default prefix. This is usually #, but can vary. If you'd like to check, run the /supports command and see what character is listed first for "Supported channel types:".
Note: This dialog was added in ChatZilla 0.9.67 and is not available in earlier versions.
The/list command can be used to fetch a list of all channels on
the current network. On large networks, however, this may take a very long
time. On some networks, you'll be kicked off with a message like ``Excess
Flood'' for doing this. Adding to the confusion, some networks recognize
extended /list options for filtering based on number of
users in a channel, etc. (if you need such features, try the join dialog
mentioned above).
ChatZilla also offers an /rlist command, which can be used to
filter the result list based on the channel name, regardless of the
server software. Type /help rlist for more information.
To disconnect from a single network without exiting ChatZilla, right-click a tab from the network and select the Disconnect From option, or switch to a view on the network and use the IRC > Disconnect From menu item. You can also type /disconnect on any view associated with the network.
Tip: To disconnect from all networks without exiting ChatZilla, type /disconnect-all.
In general you can't. The way IRC works, your IP address is distributed to every user you communicate with. Depending on where you hang out, and who your enemies are, this may or may not be a problem. In practice, it's not a problem for most normal users.
However, an increasing number of servers are supporting a user mode "x" which hides your hostname (and thus your IP) from other users (IRC Operators can still see your real host, however). You can start using this user mode by adding "x" to the Usermode box on the General tab in preferences, either in Global Settings, or for individual servers.
Note: Remember that not all servers support this. Ones that don't will simply ignore it, so don't worry about adding it if you're not sure.
ChatZilla currently has a basic implementation of DCC Chat and DCC File. The following is a summary of the commands and how to use it, enter /help dcc into ChatZilla for more information.
Note: A couple of commonly requested DCC features are Resume and Reverse support. ChatZilla currently does not support either of these, but they are both planned for a version in the future.
/dcc-chat nickname |
Sends a DCC Chat offer to nickname, which they can then accept or decline. |
/dcc-send nickname |
Prompts you to pick a file to send to nickname, after which it sends the offer. The other user can then accept or decline this offer. |
/dcc-accept |
Accepts the last DCC Chat or DCC File offer made to you. This will not work within 10 seconds of an offer arriving, during which time you may accept the offer using the slightly longer command of /dcc-accept nickname. |
/dcc-decline |
Declines (refuses) the last DCC Chat or DCC File offer made to you. |
/dcc-accept-list,
/dcc-accept-list-add,
/dcc-accept-list-remove
|
Manages the DCC auto-accept list. DCC Chat or DCC File offers from users on this list will be automatically accepted. |
ChatZilla allows you to select character encodings at multiple levels. The default character encoding used by ChatZilla is UTF-8, and it is recommended that you leave this setting wherever possible. This default avoids a number of unsolvable problems, such as how to know what encoding has been used for particular channel names without prior knowledge.
Tip: The most common character encoding is ISO-8859-15, since this is what mIRC normally uses (it can also do Shift-JIS for Japanese). If you are unsure, or other members of the channel are clueless, try using ISO-8859-15 first (type /charset ISO-8859-15 on the channel view).
An unfortunate problem with the way IRC works is that international (and most non-US-ASCII) characters cannot be sent without encoding them. The problem is that there are many, many different character encodings available, and different systems and programs use different ones. To help alleviate this problem, ChatZilla supports many different character encodings, and lets you select the right one for each channel and server.
If text is showing up with a lot of question-marks (?) or completely unexpected characters (for example, Japanese characters in a Danish channel) then it is likely that ChatZilla is not using the same charset as the other client(s). The table below lists the charset commands available in ChatZilla. Each of these commands takes a case-insensitive character encoding name as a parameter. If a character encoding is not provided, these commands will display the current setting. If you pass a dash ("-") as the character encoding name, the setting will revert to the default character encoding.
/default-charset |
Selects the default character encoding for all networks, channels, and users. This charset is used when no other more specific charset preference has been set. |
/charset |
Selects the character encoding for the current view, and works from all views. When changing the network charset all channels and query views will inherit the value unless it is set on the specific channel or query views. |
By default, ChatZilla stores logs in the logs/ subdirectory of your ChatZilla profile path. Type /pref logFileName to see where this is. You may modify the logFileName pref, but it will not copy over your old logs.
If the name is not unique, ChatZilla will append any characters that it has in common with other matching nicknames. If you press tab twice, quickly, then ChatZilla will display all matching nicknames.
From network and query views, you can tab complete on any nickname in any channel on the same network. From channel views, only users in the same channel will be included in the tab completion. In addition to nicknames, you can tab complete any channel you are on (or have been on) on the same network.
Tip: To complete the current channel name, type only the character "#", press the tab key, and ChatZilla will expand it.
There is a default tab completion for channel tabs. If you press tab on an empty line, ChatZilla will match the last person to trigger your stalk function.Tip: You don't actually need to type the entire command name - ChatZilla will allow you to shorten the command just enough to make the name unique.
Warning: Some servers and websites suggest you use /cs instead of /msg ChanServ. Please note that this does not work in ChatZilla versions before 0.9.79, because they support the /css command which ChatZilla matches (since /cs is not a standard IRC command). In ChatZilla 0.9.79, the /css command was removed, as it was just an alias for /motif.
The View > Copy Important Messages menu item can be used to disable this feature.
Timestamps also appear in the statusbar when you mouse over messages.
To check or change the limit, open the ChatZilla preferences window, and check the Appearance tab - it is labeled "Conference Mode limit". You can set this limit globally (select Global Settings on the left), for a single network (select the network), or individual channels.
Conference Mode is automatically enabled and disabled as the number of users changes, but only when the count is at least 10 above or below the configured value (to prevent it changing too often on channels near the limit). You can use any limit you like, including the special value 0 for never hiding join, part, quit and nick change messages, and 1 for always hiding them.
Note: You can find out more about irc: URLs, which includes how to specify a server password, and how to prompt for passwords/keys instead of storing them directly.
Warning: This information is stored as plain text in your preferences file. Anyone with access to your machine will be able to read it. Do not use this method to autojoin if this concerns.
Simply do /pref outgoing.colorCodes true to enable entering
colors. This setting is saved, so you will only need to do it once.
To actually insert colors, bold or underline, you need to enter % into the input box, then you will get a little popup window reminding you what to do. Here is a summary:
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 |
| 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 |
| :-) - happy | :-S - confused | >:-( - angry |
| ;-) - winking | B-) - cool | >:-D - evil |
| :-D - very happy/laughing | :") - blushing | o_O - dizzy |
| X-D - laughing hard | :~( - crying | O_O - "eek", wide-eyed |
| :-O - surprised | :-| - flat, undecided | :-? - questioning |
| :-P - tongue out | :-( - sad | 9_9 - rolling eyes |
Most of the emoticons work without the nose (-), or with ^ or v replacing it. Apart from :-) and ;-) the : may be replaced with ; or = too. You can take your pick from these variations, and ChatZilla will still know which icon to use - if you want to see what someone else has used, hover your mouse over the icon.
Note: We do not support running ChatZilla in a tab.
To try anyway, enter chrome://chatzilla/content/ into the location bar.Warning: There are some problems with running ChatZilla in a tab, and most are not things we can do anything about. Below is a list of what is known to break.
Note: In ChatZilla 0.9.67 and later, when you connect to a network and someone else is using your nickname, ChatZilla automatically reclaims it when they leave or change nick, but only for the first 6 minutes.
Warning: If you're using this to automatically ``auth'' yourself with a bot or service, remember that your password will be stored in plain text in your preferences file.
Autoperform commands are executed when ChatZilla successfully logs in to a network, regardless of how the connection was initiated. The commands are executed before attempting to join any ``Open at Startup'' channels, and before attempting to re-join any existing tabs associated with that network.Note: This preference was added in ChatZilla 0.9.41.
If you would like to turn this off by default, type /pref reconnect false. If you would like to turn it off only for a particular network, type /network-pref reconnect false from any tab associated with the network in question.
Note that if you change the default to false, you can still override specific networks with the /network-pref command.
Warning: Be careful on which channels you enable this, as some bots and channel operators will ban people who auto-rejoin when kicked.
| Control - + | Make text bigger by 2pt |
| Control - – | Make text smaller by 2pt |
| Control - 0 | Reset to browser-default |
If it's not a DPI thing, you can use the options in the menu under View > Font Family and Size. The options include some useful shortcuts (see table to the right) as well as the option to enter a size and font name explicitly. Small, Medium and Large are based on the browser's base font size, and the three font options (Serif, Sans Serif and Monospace) use the appropriate browser-configured fonts as well.
For those less inclined to use menus, the commands /font-size and /font-family provide the same functionality. The former accepts the text values "default", "small", "medium", "large", "smaller" and "bigger" which have the obvious meanings from the menu. The latter command accepts the special names "serif", "sans-serif" and "monospace". Both accept other values, either the font size in points (pt), or the font family name.
All these options affect all views in ChatZilla. This doesn't mean you can't be awkward and have different sizes or fonts on different views - just use the commands described in the preferences entry, and the pref names "font.size" and "font.family". For example, if you wanted to make the current network use 12pt text instead of the default, you would do /network-pref font.size 12.
The /motif command can be used to select a CSS file by means of an ordinary http: or file: URL. For example, the command /motif http://example.host.com/cool-color-scheme.css would be used to select the "cool-color-scheme.css" motif from "example.host.com".
You may also use /network-motif, /channel-motif, and /user-motif commands to set a motif for a particular tab, or group of tabs. See the multiple motifs question for more information.
In its simplest form, an alias is simply renaming a command and fixing some parameters:
You can run multiple commands by separating them with semi-colons (;):
Often, you want to shorten a command - or run a collection of commands - using some variable input. Aliases can use as many parameters as you like, and may be referenced using $(param key) notation. There are a few different parameter keys available:
| Syntax | Explanation |
|---|---|
| $(N) | Gets the parameter at position N, with 1 being the first. The parameter is required to run the alias. |
| $(N+) | Gets the parameter at position N, and all those following it. Only parameter N is required. |
| $(M-N) | Gets parameter M through N, inclusive. All parameters from M to N, inclusive, are required. |
| $(all) | Gets all parameters. This is similar to $(1+), but does not require any parameters. |
| $(recip) | Gets the name of the target of the alias. This is the name of the view running the alias, e.g. channel name. |
| $(nick) | Gets the user's current nickname. |
For this example, the command will use IRC Services "NickServ" to reclaim your registered nickname. When run, it ghosts the nickname (a feature of NickServ which kicks them off the server if you know their password - useful when you've just had to reconnect and your old self is still there), changes to your normal nickname, and identifies with NickServ. The first parameter is your normal nickname, and the second is the password for that nickname.
At their most complicated, you can use JavaScript in aliases via the /eval command. These are easily harmful to ChatZilla if you get anything wrong (and sometimes even if you don't!), so we advise you join #chatzilla if you need any help with this.
The format string is displayed literally, except for the following 6 substrings, which get replaced as follows:
If you've got some web space (no CGI required) you can publish a CSS file specially tailored to your channel. This could be as easy as picking a custom background image and a matching color scheme. (You will also need to host any images.) Users can try out your motif by typing one of the /*-motif commands listed above, followed by the URL to the CSS file on your web site. Users may also drag a link to a CSS file into the ChatZilla message area, to use that file as the default motif.
Read the comment at the top of output-base.css for more information. Once you've got a handle on that, check out the source for the Dark and Light motifs (pay particular attention to the way they import the base motif.) The Stylin' ChatZilla document is a bit dated, but might offer some insight as well.
Warning: There are currently permission problems relating to custom output windows, which involve granting special permissions to all local files and including some extra code in the output window itself. Unless you are really intimate with codebase principals and their use in Mozilla, it is advised you don't try to do this.
Yes. By replacing the HTML file ChatZilla displays messages in, you can make an unlimited number of customizations for the output window. Because the output window has access to all of Mozilla, including XPCOM, it can do anything ChatZilla can. This includes redisplaying information scraped from the web, state stored in a bot of some sort, or just about anything else. For security reasons these replacement ``output windows'' cannot be remotely located, and must instead be installed by users.
The ``outputWindowURL'' pref is used to select the output window file to use for a particular network, channel, or user. See the default output-window.html and output-window.js for more clues.
This hasn't gotten much use as of yet, but the basic idea is to make your own output-window.html, but use the stock output-window.js. JavaScript customizations should go in a new .js file, included in a <script> tag in your custom output-window.html.
There are a number of convenience functions for adding new commands, new menus, or just hooking existing events. While these techniques have yet to be well documented, there are a number of samples available. The sample plugin shows the basics of how to define new commands and place them in menus.
The application framework that ChatZilla is built on was originally developed for Venkman. I gave a techtalk during that time that described how to use the framework to extend Venkman. The notes are online, and may prove useful.
The source of ChatZilla itself provides a number of examples of how to use the framework:
Tip: If you find yourself stuck, drop in on #chatzilla - there are a number of people in there who have experimented with scripting, and may well be able to help directly, or give good pointers to learning yourself.
Note: If the above command outputs an empty value, you will need to do /pref profilePath - instead, to fix it.
Tip: If you're having problems getting a script to load, it may be having
errors during initialization. To check this, open the client view with the
/client command, then tick IRC > Open This
Tab At Startup, and restart ChatZilla. Any errors that occur
loading scripts during startup will be displayed on this new view.
Note: ChatZilla will also load chatzilla/scripts/init.js at startup, if it exists. It is recommended that you use this for one-off, personal scripts, or for any script that might need to make sure it is the first one loaded.
You may provide a pref name, or just the first few letters of a pref name, to see the current value of matching preferences. To change a preference, type /pref pref-name new-value. To edit a preference for a specific network, channel, or user, use /network-pref, /channel-pref, or /user-pref. There are network, channel, and user specific variants of the /motif command as well.
If you are running Mozilla and already have ChatZilla installed, you can join the channel by clicking on the #chatzilla link above.
If you are new to IRC, please read over irchelp.org.
Please be patient if you join #chatzilla looking to ask a question. I'm pretty much always logged on to IRC, but that doesn't mean I'm actually looking at the window, or even sitting in front of the computer. If I see your question before you leave the channel, chances are I'll answer it. If you include the word ``chatzilla'' in your question, it'll ring a bell on my machine which may make me respond sooner. Please don't abuse that :) Often times there will be other ChatZilla developers and/or users on #chatzilla who may be able to answer your question just as well.
.css file onto ChatZilla's
message window,
or by using the /motif command.
If you have made your own motif, and would like me to serve it here, please say so.
If you're not sure what a motif is, go here.
If you want to change things, you're much better off using a ChatZilla plugin, then you don't need to keep re-applying your changes each time there's a new version. See How do I script ChatZilla? for more information on this.