User mode flags

i - invisible. A user which has this mode is invisible to anyone who does not know his nick.

o - IRC Operator.

w - receive wallops

s - receive server notices

x - host mask. Your host will appear as something like "" to other users.

d - deaf. Do not receive privmsg/notice messages in channels.

k - Service. can only be set by a server. cannot be kicked, deoped, killed.

Channel modes

b (mask) - ban mask from channel.

i - invite only channel. Users cannot join the channel wihtout being invited by a chanop.

k (key) - channel key (password) needed to join.

l (number) - limit users in channel. If atleast this number of users is in the channel, no more users can join.

m - moderated. With this mode set, only chanops and users with voice can talk.

n - no external messages. If set, users which are not member of the channel cannot send messages.

o (nick) - Chanop. Prifixes a user's nick with @, allows setting channel modes and using /kick.

p - private. The channel will not be visible to those who don't know the name of the channel.

s - secret. the channel will not be listed at all.

t - only ops set topic.

v (nick) - voice. Prefixes a user's nick with +, allows users to talk in a moderated channel

c - no colors (must set qnetmodes in bircd.ini)

C - no CTCP to channel (must set qnetmodes in bircd.ini)

N - no notices to channel

These are the RAW commands supported by this server. a client usually supports other commands not in this list. Commands are typed with a /prefix.

commonly used commands

privmsg (target) (message) (type /msg in client)
target can be a nick, a #channel, or nick@server (means send to nick, but only if he's on that server).
For Operators, target can also be $servermask or #hostmask to broadcast a message.

notice (target) (message)
Send a notice message. the reason for notice messages is because an automation (bot) should never reply to them. Therefore, a notice is recommended for broadcasting.

nick (nickname)
Changes your nick. If another user is using this nick already, or if the nick is invalid forbidden, an error returns.

join (channel)
Joins a channel. If the channel is mode +k, give the key also. "/join #chat key". multiple channels can be joined by "/join #chat,#second"

part (channel) [reason]
Leaves a channel. "/part #chat,#other bye bye". A reason/comment is optional.

mode (channel) ([+|-]b|c|i|k|l|m|n|o|p|s|t|v|x|) (nick|ban mask)
Chanops only. Changes channel modes. examples: "/mode #channel +sl 10" secret, maximum 10 users. "/mode #channel +o nick" give someone operator status.

quit [reason]
Stop irc session, disconnect from the server. the reason/comment is optional.

topic (channel) [(topic)]
Without parameter, shows the channels topic. otherwise, changes the channel topic, if you are allowed to do so.

invite (nick) (channel)
Invite a user to a channel. If the channel has mode +i, only channel operators can use this command.

kick (channel) (nick) [(reason)]
Only by channel operators. Remove a user from the channel by force. the comment/reason is optional. /kick should be used carefully.

nickserv (message) chanserv (message) memoserv (message)
These commands allow a message to be forwarded to services on the net; to be used, the target needs to be set by the administrator. works like: "/chanserv help" -> "privmsg help"

away (message)
Can be used to tell others you're away. They'll see the message on /whoising you, or when they send you a message.

silence (nick|(-|+)mask) Blocks private messages at the server, and therefore can be more powerful than /ignore. example "/silence +*!*@*" adds a mask. "/silence -*!*@*" removes the mask again.

information request commands
ison (nick) [(nick)]
Request information on if the users with those nicks are online. example: "/ison Foo Bar" -> reply: "Foo" is online.

whois (nick mask)
Request more detailed information about a user. Tells if the user is away, if he's IRCop, his userid and host. the public channels he is on.

whowas (nick)
Wildcards can't be used here. /whowas shows info about a user who recently left irc, or changed his nick.

who (mask) [o]
Searches for users. If the full nick isn't given, invisible users are not listed. The optional o parameter lists only IRCops. example: "/who *", "/who #channel", "/who 0 o"

list [(channel)]
Lists channels which are not secret or private, with their topic. if the channel parameter is given, only the channel with that name is returned.

names [(channel)]
Shows the users which are on the given channel, or if no channel is given, it shows all channel/user relations. Secret/invisible information is not returned in the list.

userhost (nick) [nick]
Shows the userid@host of the user with the given nick.

lusers Shows how many users are online, and the number of operators, channels, and servers.

links [(mask) [(remote server)]]
Shows all servers on the net, with their "full name" and their hopcount

map [(remote server)]
Similar to /links but an ascii-map is drawn by the server which represents the links. Shows how many clients are on each server.

trace (nick|server)
Similar to traceroute. Can be used to locate lag between 2 servers in the route.

time [(server)]
Shows the time of the server, and the bias from UTC (timezone). Also the server's timestamp is returned, but most clients don't display it.

version [(server)]
Shows what version the irc server is running

stats (parameter) [(server)]
Shows configuration and statistics information about the server.

admin [(server)]
Shows admin info, the location and the email address, if set.

info [(server)]
Shows information about the irc server software.

motd [(server)]
Shows the server's Message Of The Day.

help Shows all the server's supported commands.

IRC Operator commands
oper (uid) (password)
This command is used to gain IRC Operator status. Your mask, the uid, and the password are matched against all O:lines, if one matches, the /oper succeeds.

kill (nick) (reason)
Remove a user from irc by force. Should be used carefully.

connect (servermask) [(port) [(remote server)]]
Connect to a server. The server must be listed in the configuration.
example: "/connect". "/connect 6667"

squit (servermask) [reason]
Disconnects a server, and everything behind it, from the network.
example: "/squit This connection lags, rerouting."

rehash reloads the configuration.

restart Stops the server, and starts it again. Use with care, this command breaks all server/client connections and re-sets the uptime.

die Terminates the server program. After this, physical access to the server computer is needed to start the irc server again.

gline [-|+](mask) * (duration) (reason)
Without parameter lists G-lines. example: "/gline +*bot*@* 1000 no bots allowed" adds a G-line which lasts 1000 seconds. IRCops can or can't set global g-lines this way, depending on the server's configuration.

svsnick (old nick) (new nick)
changes someone's nick by force. This can be used by, for example, nickserv.

wallops (message)
Sends a wallops message. This can be read by one who has mode +w (in practice, this are other IRCops.). depending on a setting, it can or cannot be read by users.

wallusers (message)
Sends a wallusers message, a wallops which can be read by everyone who has +w set.

change channel modes by force (if you're not chanop). same parameters as /mode

clearmode (flags)
clear channel modes.

rarely used commands
pass (password)
Use this command to set your connection's password. used when establishing a server to server link, or by a client if password authorization is needed to connect.

ping (text) (forward)
pong (text) (forward)
ping and pong are used to poll if the connection is still alive.

error (error message)
Used by a server to give a reason, when it closes a connection.

server (server) (hops) (full name)
Used by a server to introduce itself, or another server, to the net.

user (userid) (dummy) (dummy) (full name)
Used by a client when it logs on to the server.

Once used to ask a user to come on irc - does not work on beware ircd.

settime (ts)
Can be used by operators and servers to synchronize the time on all servers on the net. servers with "reliableclock" set can send them, and servers without it can accept them.