SmIRC 0.62b

IRC commands

Commands may be entered either in the channel, or the server window. Commands which are channel specific may omit the channel name, if entered in a channel window, in which case they apply to that channel by default. The following commands may be entered in uppercase, or lowercase; it doesn't matter.

/AME description

This command is equivalent to entering a /ME in every channel window for the same server.

/AMSG message

This command sends this message to every channel window for the same server. It is equivalent to typing the same message in every channel window.

/AWAY message

If message is given, sets the 'away' message. Without a message, clears the existing away message. The away message is automatically sent to anyone that sends you a private message.

/BAN #channel nick level reason

This is a convenience function. Available only to channel operators. It combines a /WHOIS command, with a /MODE +b and a /KICK. The channel parameter may be omitted if the command is entered in the channel window.

First, this command performs a /WHOIS on the given nickname, then does a /MODE +b and a /KICK on this nickname. The level parameter is optional, it specifies the severity of the ban. If left out, it defaults to 0, the least severe of the ban. If the nickname to be banned is nick!user@host.domain, here are the ban masks that will be applied:

Level Ban
0 nick!user@host.domain
1 *!user@host.domain
2 *!*@host.domain
3 *!user@*.domain
4 *!*@*.domain

/CLIENTINFO nick

Sends a CTCP CLIENTINFO command to the nickname. This command is used to determine what IRC client this nickname is running, but not all IRC clients will tell you, willingly.

/CTCP nick command

Sends a low-level CTCP command to the nickname. Reserved for future use in scripts.

/CTCPACK nick command

Sends a low-level CTCP acknowledgement command to the nickname. Reserved for future use in scripts.

/FINGER nickname

Sends a CTCP FINGER command to the nickname. If nickname's IRC software supports the CTCP FINGER command, its output will be shown on the screen. 

/FLOOD msgs secs delay ignore

This command implements a rather simple output throttling mechanism designed to keep SmIRC from being flooded off. The /FLOOD command takes four arguments (you may omit or specify an individual argument as 0 in order to keep its previous value).

Briefly, if the last "msgs" messages from SmIRC were sent to the IRC server within the last "secs" seconds or less, SmIRC will stop sending any more messages for "delay" seconds.

SmIRC will save any additional messages for the IRC server, and send them after "delay" seconds have expired (still subject to flood controls). All the messages are saved in memory. In order to avoid having SmIRC gobble up memory during a flood attack, if SmIRC has at least "ignore" messages saved in memory, it will stop processing any built-in CTCP commands, such as PING or VERSION.

NOTE: if you are running any bots, they should also attempt to avoid producing excessive output. SmIRC will delay ALL output to the IRC server, however it has no control over external bots, so if the bots generate output for the IRC server, the output will be dutifully queued in memory, irrespective of the "ignore" setting. Bots should be written to detect when they receive excessive amounts of messages from the same source, and ignore them.

Enter /FLOOD without any arguments in order to see the current flood settings.

Default settings: 3 messages, 5 seconds, 2 second delay, ignore after 20 messages

Minimums: 1 message, 5 seconds, 2 second delay, ignore after 10 messages

Maximums:  99 messages, 99 seconds, 19 second delay, ignore after 99 messages

/IGNORE nickname

This command must be entered in a channel window (for now). All further messages from this nickname will not be shown on the screen. This is a very useful command to cut out unwanted noise from someone. Enter /IGNORE without a nickname to get a list of all nicknames currently being ignored.

This list is not preserved anywhere, it is deleted every time you leave the channel. A separate list is kept for each channel you have joined. If someone on the ignore list changes nicknames, the ignore list will be automatically updated. 

/INVITE nick #channel

Sends a message inviting someone, to join this channel. channel may be left out, if the command is entered in a channel window. 

/JOIN #channel key

Joins a new channel. A new channel window will be created for this channel. If the channel cannot be joined, for some reason, an error message should come up in the server window.

If a channel needs a key to be joined, it may be specified as the 2nd argument. 

/KICK #channel nick reason

Forcibly removes somebody from the channel. Available only to channel operators. channel may be left out, if the command is entered in a channel window. reason is a message given for the kick.

/LINKS arguments

Sends a LINKS command to the server. arguments are optional arguments that are passed directly to the server. This command is specific to a given IRC network. Any output from the server, that this command generates, will go into a separate window. Nothing much can be done in that window, except to look at what came back from the server. 

/LIST args

This command obtains a list of available channels on the IRC network. Private or secret channels are not shown. args are optional arguments, that are sent with the LIST command. What they are, and what they do depends on the particular IRC network you are connected to. The /LIST command opens up a separate window, to show the channel listing. It may take a while for the listing to be downloaded. There could be more than ten thousands channels active on busy networks.
[Picture of channel listing window]

The channel listing window shows:

The right mouse button will pop up a menu to run either the /NAMES or a /JOIN command for the channel.

Depending on the IRC network, the /LIST command may not actually show you every channel. Some IRC networks will only show channels that have seen some activity in the past couple of minutes, or limit the number of channels shown. 

/LOGCLOSE

Closes the log file. 

/LOGOPEN filename

Opens a log file. SmIRC will record a transcript of all the messages that come up in this window, in this file. filename is relative to your home directory. If this file exists, the transcript is appended to this file. Logging will continue until a /LOGCLOSE command is executed.

filename may be ommitted, a suitable default will be provided.

Only the messages in the same window are logged!!! /LOGOPEN in a server window will log only server messages that appear there (borrriinnnggg). /LOGOPEN in a channel window will log only messages in that channel, not on any other channel you have joined. 

/ME description

Available in channel windows only. Sends a CTCP ACTION to the channel. For example:

/me yawns...

Causes "* _Sam_ yawns..." to show up on the channel (if your nickname is _Sam_).

/MESSAGE msgcode [0|1]

Suppresses messages from being displayed in this window. Increased functionality of SmIRC, apparently, also translates in increased clutter in the windows. You can now specify whether certain messages will appear at all. Each window keeps its own list of messages that should not be displayed. /MESSAGE msgcode 1 adds this given message to the list of messages that should not be displayed in this window. /MESSAGE msgcode 0 removes this given message from the list of messages that should not be displayed in this window (so the message will now be shown).

msgcode is the message code from the stringTable resource, which can be found in the resources file for SmIRC (usually /usr/lib/X11/app-defaults/Smirc).

The initial list of suppressed messages comes from the SUPPRESSCHANNEL or the SUPPRESSSERVER stringTable resource, from the same file :-). 

/MODE #channel/nickname +/-x args

Sets or revokes "modes" for a channel, or a nickname. Each "mode" x is a one-character letter. Both channels, and nicknames have several modes.

The channel/nickname parameter can be omitted. If the command is entered in a channel window, and the parameter is missing, it will be set to the name of the channel. If the command is entered in a server window, the parameter will default to your nickname.

Channel modes
Only channel operators may change the following modes:
User modes
The following modes should be entered in the server window, and are applied to your nickname. Up to three channel mode changes may be combined in a single command: For example:

/MODE +nt

Sets the n and the t modes for the channel simultaneously.

/MODE +oo-o nick1,nick2,nick3

Gives ops to nick1 and nick2, and removes ops from nick3.

/MSG nick message

This is just a shorthand alias for /PRIVMSG

/NAMES #channel

Lists all nicknames who have joined a channel. Can be entered in any window, but the list will appears in the server window. Invisible nicknames will not be listed, unless they are on the same channel as you. Using /NAMES on a secret, or a private, channel will not work. 

/NICK nick

Changes your nickname. The change may not take if the new nickname is already used. The error message will appear in the server window (although the command may be entered in a channel window as well).

Most servers impose a limit of how often you can change nicknames. A succesfull change is reported by updating window titles, and channel member listings.

/NOTICE #channel message

Sends a message to a channel that you have not joined. Archaic command, usually channel operators disable it.

/PART #channel

Issue this command to leave a channel, and close the window. If issued within the said window, the channel argument is optional.

The channel can also be left simply by closing its window.

/PING nickname

Sends a CTCP PING echo message to a nickname. When the recipient gets it, its software automatically replies. The round trip time is measured, and displayed.

This command is used to test the stability of the IRC network. When things go bad, it is not unusual to have round trip times of twenty minutes, or even more. This means that you'll see any responses to your messages, from this nickname, no earlier than the ping time (unless things get better).

This measures the connectivity to a single nickname only. Other nicknames -- even on the same channel -- who use different servers may report widely different ping times.

/PRIVMSG nickname message

Sends a private message to a recipient. Only this person will see the message. When you receive a private message from somebody, SmIRC will open a separate window, just for the private conversation. Anything you type in that private window will be sent as private messages, directly. There's no need to type a /MSG or /PRIVMSG in a private window. Everything typed there gets sent as a private message, automatically.

/QUIT reason

Disconnects you from the server. The optional reason is displayed on any channels that were still joined.

/RAW command

A low level function. Sends command directly to the IRC server, without any additional processing.

/RUN bot [arguments]

Explicitly start a bot running in this window. Normally when you enter "/command arguments", and the command is not one of the existing SmIRC commands, a bot by this name is started. The /RUN command explicitly runs a bot by this name, allowing you to start a bot whose name is the same as an existing SmIRC command.

NOTE: do not specify the .bot extension to the name of the bot, SmIRC adds it automatically. The bot is searched for in all the usual places: /usr/local/lib/smirc, /usr/lib/smirc, and $HOME/.smirc.

/SERVER server nnnn-nnnn [options...]

Initiates a connection to a server, without going through the interactive dialog. The first parameter, the server name, is required. The rest are optional, and default to previous values used.

The second parameter is the port range, low-high. SmIRC picks a port number, at random, within that range, inclusively.

The remaining parameters may come in any order. They are specified in the format PARAMETER=VALUE:

Examples:

/SERVER irc.kabal.com 6660-6666

/SERVER irc.kabal.com NICK=goober ALTNICK=shrimp USER="Freedom Nut"

/SOURCE nickname

Sends a CTCP SOURCE request to the nickname. The response should be, hopefully, the address where the nickname's IRC client can be located for your inspection (in case you are checking out the competition).

/SV

In channel windows only: displays your SmIRC version number.

/TIME nickname

Sends a CTCP TIME request to the nickname. The response should be the local time from nickname's time zone.

/TOPIC #channel topic

Sets the topic for the channel. The channel argument is not necessary if the command is entered in the channel window itself.

/UNIGNORE nickname

Removes the nickname from the ignore list. See the /IGNORE command.

/USERINFO nickname

Sends a CTCP USERINFO request to the nickname. The response should be, hopefully, some user information about the nickname.

/VERSION nickname

Sends a CTCP VERSION request to the nickname. The response should be, hopefully, what IRC client - and its version - this nickname uses.

/WHO name

Returns a list of all users on IRC which match the pattern name. The list will appear in the server window. Because this command is frequently abused, your IRC server may have disabled it. 

/WHOIS nickname

Returns some information about a particular nickname: what server the nickname uses, what channels have been joined, etc...