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
2 answers

mIRC If Timer X is running

Im looking to make an if statement that will check if a timer is running! Ex on *:text:*ABC*:#: { if timerX is running { msg $chan Working! } }
skdfsfwse
  • 19
  • 7
-2
votes
1 answer

Raw IRC output nick and message parsing via Regex

I am trying to parse the Twitch IRC chat into a more readable way. I have never used Regex and am not sure how to go about this (even after reading tons of tutorials.) This is the raw output: :nick!nick@nick.tmi.twitch.tv PRIVMSG channel : I would…
Johnny Johnson
  • 89
  • 1
  • 1
  • 6
-2
votes
1 answer

Sending a notification of a Paypal transaction to an IRC Bot, either directly or via intermediary webpage

Firstly this is my first question so I apologize if it not up to standards. TL:DR - I need to be able to get a notification of a Paypal transaction with the amount, and message, if any to an IRC bot. I am thinking about a webpage to take the…
Raletia
  • 1
  • 2
-2
votes
2 answers

Which chat pattern is better: print the message upon input, or after the server receives it?

Basically, I'm developing a chat client, like an IRC. Then, I got into the dilemma: when the client sends the message, should this message be printed instantly on his client chat, or should the server re-send the message for him, and then it will be…
-2
votes
1 answer

I am unable to join IRC channels from within emacs

I'm not sure what isn't working, but I run M-x irc and it brings up the usual irc buffer with a lengthy intro message. It sets my nick to my username, which isn't my irc registered nick so I then issue the command /nick ActualNick and then it tells…
Palace Chan
  • 8,845
  • 11
  • 41
  • 93
-2
votes
1 answer

c - trying to make irc bot

#include #include const int PORT = 6667; const char *SERVER = "irc.freenode.org"; const char *CHAN = "#channela"; const char *NICK = "loveMilk"; const int MAX_BUFF_SIZE = 512; int sock_conn(SOCKET *socketn, const char…
Orr Goren
  • 75
  • 1
  • 4
-3
votes
2 answers

C# Console Application making fully custom commands

I'm trying to make an IRC Admin system but I need to make custom commands. For example: if (e.PrivateMessage.Message == ".ban") // add Custom time and reason { Console.WriteLine("Master Requested .ban (Ban)"); } The question is: how do I add a…
Yakou
  • 1
-3
votes
1 answer

Saving variable state in between sessions?

So I'm in the process of developing a Java IRC bot as a bit of a side project for a friend of mine, and while development is going well, I'm a little unsure as how to save the current state of certain variables in between sessions. It doesn't have a…
-3
votes
1 answer

creating a basic shell in C for an IRC bot with another thread running in the background

At the moment I have a very simple IRC bot written in C. When I run it, it sets up the connection and joins the specified channel. All the connection details are hard-coded, but this is not an issue. What I want to do is have a basic shell run at…
Matthew G
  • 1,090
  • 2
  • 14
  • 23
-4
votes
1 answer

How to connect a client to an IRC server using sockets in C

I am coding an IRC client that I want to connect to irc.hackerzvoice.net. I have read RFC1459 as well as similar posts here on Stackoverflow, but still do not get what can possibly be wrong in my code. I still get the same "registration timeout"…
Parallel
  • 11
  • 4
-4
votes
1 answer

I thought TCP sent packets in order?

I am sending the following in a IRC bot: bot->message("chanserv", "op #channel"); bot->raw("KICK #channel " + this->nick(args[0]) + " :RIPIP"); sleep(2000); // even tried sleepin bot->message("chanserv", "deop #channel"); I see it sent across the…
y2k
  • 65,388
  • 27
  • 61
  • 86
-5
votes
1 answer

JFrame contents do not show when calling method out of Button Listener

EDIT: I delayed the execution of "Core.createBot();" using a ScheduledWorker to resolve the problem. So I made an IRC Bot using Java and I'm now rewriting him to be controllable through a GUI. If a user issues a command through that, the bot sends a…
bl4ckscor3
  • 11
  • 1
  • 4
-6
votes
1 answer

Ruby IRC Server / Client

Is it possible to programm a custom IRC chat server / client in Ruby? Is there any good documentation out there? (I mean the rfc docs are pretty much unreadable...) Or are there any tutorials?
Ko Ichi
  • 167
  • 1
  • 7
1 2 3
73
74