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

Python - a bytes like object is required, not str

I'm moving my Twitch bot from Python 2.7 to Python 3.5. I keep getting the error: a bytes like object is required not 'str' on the 2nd line of the code below. twitchdata = irc.recv(1204) data = twitchdata.split(":")[1] twitchuser =…
spencermehta
  • 639
  • 1
  • 5
  • 10
33
votes
3 answers

What is a good IRC channel for Objective-C and Cocoa programming

What is a good IRC channel for Objective-C and Cocoa programming?
lampShade
  • 4,361
  • 8
  • 34
  • 50
29
votes
3 answers

Best IRC server for programming channels?

I've always used EFnet for IRC but discovered Freenode recently. Is this the most populated server for programmers in general?
JamesBrownIsDead
  • 4,573
  • 3
  • 20
  • 10
24
votes
3 answers

What is the difference between the nick, username, and real name in IRC, and what is the password?

According to RFC 2812, section 3.1, in order to connect to an IRC server, a user must issue three commands in this order: PASS NICK USER So we have a password, and we have three…
Jack M
  • 4,769
  • 6
  • 43
  • 67
23
votes
5 answers

IRC channel for iPhone developers?

I was wondering if there is a good IRC channel around somewhere that allows iPhone developers to get together and talk about code and etc. Any channel already around that people are using?
jpm
  • 16,622
  • 34
  • 63
  • 66
22
votes
5 answers

How do i program a simple IRC bot in python?

I need help writing a basic IRC bot that just connects to a channel.. is anyone able to explain this to me? I have managed to get it to connect to the IRC server but I am unable to join a channel and log on. The code I have thus far is: import…
Jake
  • 907
  • 4
  • 12
  • 25
20
votes
6 answers

C++ network programming

I would like to expand my knowledge in C++, so the first thing I'm taking on is network programming. I want to make an IRC bot (which hopefully will teach me about socket programming and networking topics), but I have no idea where to start. If…
Lockhead
  • 2,423
  • 7
  • 35
  • 48
20
votes
3 answers

what's the best open protocol for chat room software?

I'm comparing between IRC, XMPP and a third proprietary server I have. what are the pros and cons of each and suggest others if you know any mentionable ones.
Bassel Alkhateeb
  • 1,584
  • 5
  • 19
  • 35
17
votes
3 answers

Is there a way to get the users of an IRC channel without joining it?

I want to be able to get the list of users and their details from an IRC channel without joining it and thus increasing its user count. So instead of issuing JOIN #chan and then NAMES #chan to get the list of users, I can run the latter command. Is…
liamzebedee
  • 14,010
  • 21
  • 72
  • 118
17
votes
1 answer

Insert line breaks into an IRC message

I'm trying to programmatically send IRC messages with the PRIVMSG command. IRC uses CRLF to delimit separate commands, so "enter" is the end of each command. I want to send a single message with line breaks in it so that the recipient (a human IRC…
Superbest
  • 25,318
  • 14
  • 62
  • 134
13
votes
4 answers

IRC library in C#

I want to embed a small chat window in my program that will function as a basic IRC client. This requires limited functionality such as connecting, disconnecting, listing users, and sending private messages. As of writing, I have tried several…
ty.
  • 10,924
  • 9
  • 52
  • 71
12
votes
5 answers

Best way to embed an IRC client in a webpage

I'm looking for a good, free, preferrably open source, IRC client to be embedded in a web page. The obvious requirements of supporting most browsers, if requiering a plug-in it should be a plug-in that is allready widley deployed and it should not…
John Nilsson
  • 17,001
  • 8
  • 32
  • 42
11
votes
5 answers

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

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…
CodingWithoutComments
  • 35,598
  • 21
  • 73
  • 86
11
votes
7 answers

Determine If a User Is Idented On IRC

In my IRC Bot, there are some commands that I want to only be usable by me, and I want to check to make sure that anyone using my name is identified with nickserv (idented). I couldn't, however, find an easy way to determine this, which is why I'm…
Xiong Chiamiov
  • 13,076
  • 9
  • 63
  • 101
11
votes
4 answers

Recommended IRC server (ircd) for a small site?

The situation: I want to play around with IRC bots as general communications interfaces to other code I am investigating. The server hardware would be old and low-memory, but running on a relatively up-to-date Debian GNU/Linux install. I don't…
Zed
  • 3,457
  • 3
  • 20
  • 21
1
2 3
73 74