system • Users participate in group chat via "channels" or communicate privately • Constantly evolving • It's simplicity makes it powerful • There are many, many chat networks
at University of Oulu in Finland • First released August 1988 • Needed an improvement for existing talk feature • Modeled after Bitnet Relay for BITNET • Many specifications: RFC 1459, RFC 2810- 13, but none are official
on port 6660-6669 and 7000 (officially assigned port 194) • Each message and reply is a single line • Each chat network has at least 1 server, but can have many (in a tree structure)
consist of many servers in a spanning tree. • What your client connects to so that you can chat with others. • Each server in the tree is running IRC daemon software. • In a multi-server network, two users don't have to be on the same server to chat with one another.
isn't a server. • Includes your chat program and bots as well. • Each client must be uniquely identified. • Messages to clients are transmitted through the server (no need for direct connection).
as a group. • Messages sent to a channel are seen by all who have currently joined that channel. • Channel names are unique and usually prefixed with hash character (#). • Channels are created when the first user joins the channel and destroyed when the last user leaves.
channel. • Help maintain the channel by removing disruptive clients, setting the topic and changing channel settings (like keywords). • If you are the first to join a channel, you are often made its operator automatically.
Prefixed with a forward-slash (/). • They often take one or more arguments. • On most networks you can issue the help command for more info about any command ◦ /help ◦ /help <command> • Can usually run commands for one channel while in another by specifying other channel.
/list -min 30 ◦ note: not recommended for large networks • List who is in a channel ◦ /who ◦ /who #channel • Get info about a user ◦ /whois nick • Change your nickname ◦ /nick newnick
/join #channel keyword • Leave (part) a channel ◦ /part ◦ /part #channel • Invite someone to a channel: ◦ /invite nick #channel • Set away status (message optional) ◦ /away message • Set returned status ◦ /back
message • Open privmsg window to a user ◦ /query nick • Actions ◦ /me description of action ◦ produces "christiek does something" ◦ always in the third person • Ignore a user ◦ /ignore hostmask types options ◦ some networks use nick, freenode uses hostmask
manage clients on IRC networks. • Registering with NickServ preserves your nickname and is often required to do things like join channels with keywords. • To register, enter this once: ◦ /msg NickServ REGISTER password [email protected] • On subsequent connects, enter: ◦ /msg NickServ IDENTIFY password • Record your password in a safe place!
that helps maintain channels on IRC networks. • Registering your channels with ChanServ links you with the channel and provides a mechanism for recovering the channel should it be taken. • Usage: ◦ /msg ChanServ register <channelname> <password> description_of_channel • Record that password in a safe place!