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
-1
votes
1 answer

How can I properly match a private message on IRC?

I'm making a irc lib and I can't seem to match just private messages, it also matches the version string. REGEX :(?P.*?)!\S+\sPRIVMSG\s(?P.*?)\s:(?P.+) VERSION MATCH VERSION_STRING:…
-1
votes
1 answer

Using the Python random module with XCHAT IRC scripts

I'm trying to print random items from a list into my XCHAT channel messages. So far I've only been able to print the random items from my list alone, but not with any specific text. Example usage would be: "/ran blahblahblah" to produce the…
isfigd
  • 1
-1
votes
1 answer

my bot doesn't accept my string array for mod. does anyone know whats wrong with it?

when "the_pvbro" wants to type a command in chat the bot doesn't allow him to use it. and i'm too lazy to make a new class for every new mod i add. so does anyone have an idea maybe how to do it differntly? import org.jibble.pircbot.*; public class…
Skalrayi
  • 13
  • 4
-1
votes
2 answers

Controlling client terminal (linux)

In my university I have a server (CLUB Server) but the university local network is closed I mean I can not access the server from outside (from my house for example) but the server have the ability to access another server on the internet so in…
Khalil Bz
  • 557
  • 1
  • 9
  • 24
-1
votes
2 answers

Host/Create two IRCd Servers

Is it possible to setup two IRCd servers on one VPS? Regards.
-1
votes
3 answers

IRC Bot problems on UnrealIRCd

i have been working on bot in C# (using Amrykid.Web.IRC library - i know it's buggy but this is not related to it - i suppose) And i ran into small problem today. When I try to join localhost IRC (unrealircd 4) it gives me this in log (user joins…
ovxrfl0w
  • 125
  • 1
  • 1
  • 13
-1
votes
1 answer

Add a pause before further execution in mIRC

So I've been thinking for like over an hour but did not arrive any conclusion with this script. I basically am trying to add a "status check" for 3 IRC servers via mIRC sockets. The problem I'm facing is that the execution jumps over to the next…
Areeb
  • 366
  • 1
  • 3
  • 16
-1
votes
1 answer

IRC Bot Written in C

I've picked up an IRC bot skeleton from here and it doesn't compile, although the author says it should do. gcc basically throws up these errors /tmp/cc39tOaX.o: In function raw': bot.c:(.text+0x73): undefined reference tova_start'…
fscked
  • 11
  • 5
-1
votes
1 answer

Simple Delphi/Pascal IRC client

I have looked for forever on google on how to make a Delphi IRC client. But to no Avail, and being new to the language of Pascal has not helped my endeavors. All I need is code demonstrating how to connect to an IRC server on a channel, and receive…
Melona380
  • 77
  • 9
-1
votes
1 answer

Code Written for .NET 4 returning Error For .NET 3.5 Client

I am trying to take a library Coded for .NET 4 and recompile it to use .NET 3.5 Client. The library is available at https://github.com/cshivers/IrcClient-csharp/tree/master/IrcClient-csharp This is the block of Code in my program that gets an error…
Melona380
  • 77
  • 9
-1
votes
1 answer

Identify sending user, Python IRC

So I made a Twitch.tv bot for my own channel, after having fun with it a little bit, I wanted to have some command restricted to some users, and some commands that can say the users name, for example: Username reply example: Person1:…
GTAirpline
  • 65
  • 11
-1
votes
1 answer

irc server response to JOIN comment

I'm new with writing an IRC sever. I get Log from joining the channel in freenode connection . The server response to : /JOIN #h was :test!~test@151.232.114.48 JOIN #h * :realname and test was my nickname. Does anyone know that , what is exactly…
mellodi
  • 15
  • 1
  • 1
  • 9
-1
votes
3 answers

Python AttributeError: 'str' object has no attribute 'append' (Specific)

Currently having an issue with my Twitch chat bot, this error occurs when the bot picks up JTV sending a flag to op somebody in the channel (Giving them mod permissions). The problem I'm having is that this error sometimes occurs and sometime…
Lynn
  • 3
  • 5
-1
votes
3 answers

Suggestions for a IRC client implementation on Web platforms

I want to put an IRC client in my webpage. I know there are many clients but not opensource ones (I didn't find any). So, do you know some free and open source projects to implement an irc client on a webpage? And what do you suggests in term of…
DomingoSL
  • 14,920
  • 24
  • 99
  • 173
-1
votes
1 answer

SSH client output over IRC

I'm currently developing a small bot in Java that I run from Raspberry Pi's. These Raspberry Pi's are connected to DSL-routers in some shops that a friend of mine run. The purpose is to monitor different things in his shops, like uptime, client…
andruszkow
  • 43
  • 3