Questions tagged [irc]

IRC - Stands for Internet Relay Chat is an internet based chat protocol. Main idea is to have users connect to a server network, where they can then send messages to each other through channels or direct chat. Today there's quite a few different networks, usually each with a main thematic. Stack Overflow got its own channel on the FreeNode network. You can read more about that on the full tag wiki page.

Overview

IRC is an internet chat protocol, first written in 1988. It bascially features IRC servers organized into networks, where an user can send message to other ones. The main feature is the channels that users can join, much like other chat rooms.

Network infrastructure and protocol

A network is generally made of several different servers, linked together through the same IRC protocol, where users and channels are common. Usually, just joining an empty channel will automatically create it, although this might not be the case everywhere. The IRC protocol also features moderators of different levels and channel options, although this has been found to be too weak for general use. Most IRC Networks now feature IRC Services, that enable someone to configure and protect channels in greater detail.

The IRC protocol only uses plaintext, as opposed to XMPP for example that uses XML style, and is therefore very simple to parse and use. Because of the lack of security of this approach, it's now usually used along a SSL connection. A typical IRC query is of the form: :origin KEYWORD contents - with the origin and contents sections being optional : a query could be as much as "LIST" to get a list of current network channels.

The server connection process is also very simple: the user only has to send out information about desired nickname, username, and displayed real name, before being able to use the network. Because of that, there has been quite a few implementation of IRC Bots and scripting platforms for various uses (EG. Eggdrop, Supybot, or simply home-made applications)

One of the big loopholes in the IRC protocol as described by RFC1459 is that it does not specify the use of character encoding past the 7-bit ASCII representation. Channels and users have been known to mostly use either utf-8 or latin-1 (iso8856-1). There's no shortage of problems made by bad software utf-8 parsers, to the extent of being able to crash people's client at will.

Stack Overflow IRC channel

Stack Overflow has an IRC channel on the FreeNode network (irc.freenode.net), #stackoverflow You could join it either by inputing above info in an IRC client, using This kind of browser link, or using a JS Web Applet such as FreeNode's QIRC. FreeNode is also the home of hundreds of community projects, especially open source ones.

More information

Detailed informations about the IRC protocol can be found into the IETF related RFCs, the initial one being RFC1459. Additions were later made, although some of these remain un-supported to this date.

Some popular IRC clients include:

Many other applications such as GNOME's Empathy, or Pidgin, also come with builtin IRC support.

1108 questions
2
votes
1 answer

Good ruby irc client library

I'd like to write an irc bot. (please reply with a good irc client library and not a bot framework). __ why the downvote? I simply like to know which libary is fairly decent and well maintained as there are quite a few ruby irc libraries.
Roman A. Taycher
  • 18,619
  • 19
  • 86
  • 141
2
votes
3 answers

How to remove ALL IRC Colour codes from string

note: I'm using Python3 I've been searching everywhere and finding nothing complete. Asking on IRC everywhere. I need a regex expression that removes ALL IRC colour control codes. Nowhere is there a complete solution. Bold, Italics, Underline,…
baudsmoke
  • 99
  • 1
  • 9
2
votes
2 answers

.NET Windows Live Messenger Connectivity?

Hey there guys, I'm working on an IRC bot project, Trying to integrate Windows live into a bot, And have received messages sent to the channel. But the current problem is that the old messenger API that I had no longer works. And the current API i…
Patrick S
  • 245
  • 1
  • 4
  • 11
2
votes
2 answers

Irssi Loop Through Users in Channel

I am trying to piece together other scripts i have seen to be able to loop through a list of users on the channel. Here is what i have come up with my $channel = @_; foreach my $nick ($channel->nicks()) { $server->command("msg $chatchannel…
Mattigins
  • 1,014
  • 9
  • 25
2
votes
2 answers

How do I fork correctly in a perl module for znc?

I'm currently writing an IRC bot. The scripts are loaded as perl modules in ZNC but the bot gets disconnected with an Input/Output error if I create a forked process. This is a working example script without fork, but this causes the bot to freeze…
rarbox
  • 486
  • 5
  • 14
2
votes
1 answer

TypeError: does not support the buffer interface Twitch IRC Chat Bot

To start off, I couldn't find an answer anywhere. Im not sure if its something I need to import or if its just poorly done code. In a nut shell, with this project im going to make a better twitch follower notifier with SMS messages, and a lot of…
EduCodes
  • 23
  • 3
2
votes
0 answers

Python IRC/Skype Bridge spamming messages

I've tried so many ways the past week or so to try to get this to work. I've managed to get Skype2IRC to work in another script, and not spam IRC or anything. It was good. Just on message status, send message to IRC. That part I can get down easily.…
Axiom
  • 902
  • 1
  • 10
  • 23
2
votes
1 answer

How can I turn on special Ascii characters in Visual Studio?

Or more specifically. The Ascii control character. ^C, 0x03, or STX. I am trying to get my program to send out color codes in IRC ( I know there is not really a standard for this ), but I am a atleast an hour into research, and I don't know what…
Tony Arnold
  • 649
  • 2
  • 7
  • 15
2
votes
0 answers

What causes this delay in PHP?

I have a question about a PHP script that I wrote to connect to a collect statistics from IRC servers, as a test as I am new to PHP and still learning. Here is the script:
user4428391
  • 381
  • 1
  • 3
  • 8
2
votes
3 answers

Why does the getPrefix Method with PircBot in an IRC chat return nothing?

I am trying to let my bot check if a command is issued by a moderator of the chat. The twitch IRC does use "@" as a prefix for moderators like any other irc. This is the onMessage method which contains the checks: public void onMessage(String…
anchuin
  • 33
  • 4
2
votes
2 answers

Install an ircbot that handles greetings of certain users

I want to greet a certain user ffki-besucher in a certain IRC channel. Whenever that user logs in, it should get a special message written directly into the channel. I heard weechat is a good solution, but how can I achieve this? How do I install…
rubo77
  • 19,527
  • 31
  • 134
  • 226
2
votes
2 answers

"NO IDENT RESPONSE" error when connecting to an IRC server

Usually I would attempt something like this with the twisted library, but that isn't available for python 3 - so I attempted it using the sockets library. The code does establish a connection, but the server quickly responds with "no ident…
Sev
  • 95
  • 1
  • 3
  • 11
2
votes
1 answer

How can I mimic an irc server disconnect to test my nodejs irc bot?

I'm using the net.Socket module to connect to EFNET and testing my code in order to add a reconnect event to my bot. What are some ways I can mimic the bot disconnecting? The issue is very 2-3 weeks it disconnects - I have added event handlers in…
meder omuraliev
  • 183,342
  • 71
  • 393
  • 434
2
votes
2 answers

Pidgin IRC with ZNC and multiple networks

I am using pidgin and ZNC as an IRC Bouncer. In my ZNC I have configured two networks and I would like to use both with pidgin. My problem is: I don't know how to choose the network when joining a new channel. I always connects me with the first…
Peterchen
  • 31
  • 4
2
votes
1 answer

Connect to an irc server with password

I'm writing script in remote.ini The script looks like on 1:start:{ server some.irc.server server -m another.irc.server } The script works well as when I open mIRC, it automatically connect to 2 servers above Now, I want to connect to an…
Tuan Anh Hoang-Vu
  • 1,994
  • 1
  • 21
  • 32