4 ms·
IRC at its core is really simple: there's a server that relays messages between currently connected clients (i.e.: the server does not store messages ever). To
by kilburn 6y ago
IRC at its core is really simple: there's a server that relays messages between currently connected clients (i.e.: the server does not store messages ever).
To whom does each message get sent? This is where channels come in: a "channel" is just a list of currently connected people, and the server relays every message sent to the channel to all the people who's in it.
You can also open "private consversations" (i.e.: channels between only you and another person in the server).
From this very simple model, new features where added over time. Most notably:
- Very early on people realized that trolls are annoying. So... whenever a chanel is created, the first person to join gets "operator" status and can kick other people from the channel, silence them, etc. They can also make other people operators.
- Some severs are federated to form an "IRC Network" (like freenet). These servers are relaying messages between them. For end-clients, it should not matter to which of the servers in the network you are connected to. Federation only works between servers on the same network (there's no federation between networks!).
- Some networks created a small layer of authentication. You can "register" your nickname so the network won't allow other people to use it. Furthermore, you can "register" channels so when they get created the first person to enter doesn't get operator status. The network will only grant such status on that channel to whatever (registered) nicknames you specify, etc.
On this basis, people started creating bots to:
- Build archives of conversations (remember that all of this is ephemeral!)
- Auto-reply to certain "messages" in certain channels.
- Whatever else crosses your mind it has probably been done at some point. IRC is old ;)