3. What is IRC?
● Internet Relay Chat
● Multi-user chat 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
4. IRC History
● Written by Jarkko Oikarinen, a BBS admin
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
5. Tech Details
● Text-based, client-server protocol
● Uses TCP, typically 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)
9. Network
● Consists of at least one server, but can
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.
10. Client
● Anything that connects to an IRC network
that 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).
11. Channel
● A "room" that users can join and chat 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.
12. Operator
● A client with special privileges on a network.
● Help maintain the network by adding and
removing servers; adding, removing and
banning (if necessary) other clients, etc.
13. Channel Operator
● A client with special privileges on a 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.
14. Commands
● Commands are how clients interact with
servers.
● 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.
15. Let's Connect!
Freenode:
chat.freenode.net
SSL enabled, port 6697, 7000 or 7070
List of location specific servers:
http://freenode.net/irc_servers.shtml
16. Basic Commands
● Get list of channels
○ /list
○ /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
17. Basic Commands
● Join a channel
○ /join #channel
○ /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
18. Basic Commands
● Send a private message
○ /msg nick 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
19. Register with NickServ
● NickServ is a service that helps 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
youremail@example.com
● On subsequent connects, enter:
○ /msg NickServ IDENTIFY password
● Record your password in a safe place!
20. Register with ChanServ
● Like NickServ, ChanServ is a service 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!
21. Items not covered...
● Channel management
● Bouncers
● Bots
● DCC and filesharing
● Operating an IRC network
22. Thank you!
Questions? Get in touch!
Christie Koehler
Twitter: christiekoehler
Freenode: christiek
christiekoehler@gmail.com