409px, An IRC bot performing a simple task.An IRC bot is a set of
scripts
Script may refer to:
Writing systems
* Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire
* Script (styles of handwriting)
** Script typeface, a typeface with characteristics of handw ...
or an independent
program
Program, programme, programmer, or programming may refer to:
Business and management
* Program management, the process of managing several related projects
* Time management
* Program, a part of planning
Arts and entertainment Audio
* Progra ...
that connects to
Internet Relay Chat
Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called ''channels'', but also allows one-on-one communication via private messages as well as chat and ...
as a
client, and so appears to other IRC users as another user. An IRC bot differs from a regular client in that instead of providing interactive access to IRC for a human user, it performs automated functions.
Function
Often, an IRC bot is deployed as a detached program running from a stable host. It sits on an
IRC channel to keep it open and prevents malicious users from
taking over the channel. It can be configured to give
channel operator status to privileged users when they join the channel, and can provide a unified channel operator list. Many of these features require that the bot be a channel operator. Thus, most IRC bots are run from computers which have long
uptimes (generally running a
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
derivative or
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
) and a fast, stable
Internet
The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
connection. As IRC has become popular with many
dial-up
Dial-up Internet access is a form of Internet access that uses the facilities of the public switched telephone network (PSTN) to establish a connection to an Internet service provider (ISP) by dialing a telephone number on a conventional telepho ...
users as well,
shell accounts at
shell provider
A shell account is a user account on a remote server, traditionally running under the Unix operating system, which gives access to a shell via a command-line interface protocol such as telnet, SSH, or over a modem using a terminal emulator.
Sh ...
s have become popular as a stable Linux server with a decent connection to run a bot from.
Aside from managing channel permissions, a bot can also perform functions such as logging what is posted to an IRC channel, giving out information on demand (very popular in IRC channels dealing with user support), creating
statistics
Statistics (from German language, German: ''wikt:Statistik#German, Statistik'', "description of a State (polity), state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of ...
tracking the channel's top posters and longest-lived
lurker
In Internet culture, a lurker is typically a member of an online community who observes, but does not participate. The exact definition depends on context. Lurkers make up a large proportion of all users in online communities. Lurking allows use ...
s, or hosting
trivia
Trivia is information and data that are considered to be of little value. It can be contrasted with general knowledge and common sense.
Latin Etymology
The ancient Romans used the word ''triviae'' to describe where one road split or forked ...
,
Uno and other games. These functions are usually provided by scripts, often written in a
scripting programming language
A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.
A scripting ...
such as
Tcl
TCL or Tcl or TCLs may refer to:
Business
* TCL Technology, a Chinese consumer electronics and appliance company
**TCL Electronics, a subsidiary of TCL Technology
* Texas Collegiate League, a collegiate baseball league
* Trade Centre Limited, a ...
or
Perl
Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
by the bot's users. Channels dedicated to
file sharing often use
XDCC
XDCC (Xabi DCC or eXtended DCC) is a computer file sharing method which uses the Internet Relay Chat (IRC) network as a host service.
History
Limitations in the original DCC protocol prevented the transfers of very large files, or groups of ...
bots to distribute their files.
IRC bots are particularly useful on
IRC networks such as
EFnet
EFnet or Eris-Free network is a major Internet Relay Chat (IRC) network, with more than 35,000 users. It is the modern-day descendant of the original IRC network.
History
Initially, most IRC servers formed a single IRC network, to which new ser ...
and
IRCnet
IRCnet is currently the third largest IRC network with around 25,000 users using it daily. An early 2005 record had approximately 123,110 users simultaneously connected to the network.
History
Initially, most IRC servers formed a single IRC netw ...
without
channel registration services, and on networks like
Undernet or
QuakeNet
QuakeNet is an Internet Relay Chat (IRC) network, and was one of the largest IRC networks. The network was founded in 1997 by Garfield (Henrik Rasmussen, Denmark) and Oli (Oli Gustafsson, Sweden) as a new home for their respective countries' Quak ...
that require conditions to be met (minimum user count, etc.) before a channel may be registered. Where bots are used for administrative functions such as this, they may need more access than a normal client connection allows. Some versions of IRC have a "Service" protocol that allows clients with these extra powers. Such server-sanctioned bots are called
IRC services.
Bots are not always welcome. Some IRC networks forbid the usage of bots. One of the reasons for doing so is that each
nickname
A nickname is a substitute for the proper name of a familiar person, place or thing. Commonly used to express affection, a form of endearment, and sometimes amusement, it can also be used to express defamation of character. As a concept, it is ...
connected to the network increases the size of the network
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
which is being kept in
sync across all servers. Allowing for bots in large networks can cause a relevant amount of
network traffic Network traffic or data traffic is the amount of data moving across a network at a given point of time. Network data in computer networks is mostly encapsulated in network packets, which provide the load in the network. Network traffic is the main c ...
overhead which needs to be financed and may even lead to
netsplit
In computer networking, specifically Internet Relay Chat (IRC), netsplit is a disconnection between two servers. A split between any two servers splits the entire network into two pieces.
Cause and effects
Consider the graph to the right, which ...
s.
Comparison
In popular culture
*
Basshunter's 2006 song,
Boten Anna, is about a female IRC user mistaken for an IRC bot
See also
*
Chatterbot
*
Comparison of Internet Relay Chat bots
409px, An IRC bot performing a simple task.An IRC bot is a set of scripts or an independent program that connects to Internet Relay Chat as a client, and so appears to other IRC users as another user. An IRC bot differs from a regular client in ...
References
External links
*
{{IRC topics
Bot, Internet Relay Chat