Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Programming a simple IRC (Internet-Relay-Chat) Client

Tags:

ruby

irc

shoes

I started using IRC at a young age, and I have always been fascinated with it. As a language exercise, I was thinking about programming a simple IRC client in Ruby with Shoes as a graphical front-end. My question to you, kind-sirs, what do I need to become familiar with to start on this great adventure (besides shoes and Ruby of course)? I imagine there is some-sort of specification on IRC Protocol. Any pointers?

like image 391
CodingWithoutComments Avatar asked Aug 23 '08 15:08

CodingWithoutComments


People also ask

How does the internet Relay chat IRC work?

Internet Relay Chat (IRC) uses a client-server model to provide a chatroom. A single IRC server is set up, and users connect to the server via IRC clients. The protocol allows users to set usernames on the server and engage in private chats or group chats via different IRC channels.

What are the three main parts of an IRC client message?

Each IRC message may consist of up to three main parts: the prefix (optional), the command, and the command parameters (of which there may be up to 15).

Do people still use IRC chat?

IRC is an internet protocol for real-time communication online. Although many fancier chat applications have appeared since it emerged way back in the 1980s, IRC is still going strong, and provides a viable alternative.


1 Answers

An earlier post mentioned RFC1459. While it is a very good introduction to IRC, it has actually been superseded by RFCs 2810-2813. Here is a more complete list of documentation you need to program anything IRC-related:

  • RFC1459 (original RFC; superseded, but still useful)
  • RFC2810 (IRC architecture)
  • RFC2811 (IRC channel management)
  • RFC2812 (IRC client protocol)
  • RFC2813 (IRC server protocol)
  • CTCP specification
  • DCC specification
  • Updated CTCP specification (not all clients support this)
  • ISupport (response code 005) draft (almost all servers support this nowadays)
  • Client capabilities (CAP command) draft (supported by some servers/clients)
  • IRCv3 standards and proposals (the future features of IRC, some of which are already widely supported)
like image 85
Hinrik Avatar answered Oct 05 '22 18:10

Hinrik