Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IRC bot
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Software that acts as an IRC user}} [[image:IrcBot.png|thumb|409px|right|An IRC bot performing a simple task.]]An '''IRC bot''' is a set of [[Scripting language|scripts]] or an independent [[Computer program|program]] that connects to [[Internet Relay Chat]] as a [[Client (computing)|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 [[IRC takeover|taking over]] the channel. It can be configured to give [[IRC channel operator|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 [[uptime]]s (generally running a [[BSD]] derivative or [[Linux]]) and a fast, stable [[Internet]] connection. As IRC has become popular with many [[dial-up]] users as well, [[shell account]]s at [[shell provider]]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]] tracking the channel's top posters and longest-lived [[lurker]]s, or hosting [[trivia]], [[Uno (video game)|Uno]] and other games. These functions are usually provided by scripts, often written in a [[scripting programming language]] such as [[Tcl]] or [[Perl]] by the bot's users. Channels dedicated to [[file sharing]] often use [[XDCC]] bots to distribute their files. IRC bots are particularly useful on [[IRC network]]s such as [[EFnet]] and [[IRCnet]] without [[ChanServ|channel registration services]], and on networks like [[Undernet]] or [[QuakeNet]] 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]] connected to the network increases the size of the network [[database]] which is being kept in [[Synchronization|sync]] across all servers. Allowing for bots in large networks can cause a relevant amount of [[Internet traffic|network traffic]] [[Overhead (engineering)|overhead]] which needs to be financed and may even lead to [[netsplit]]s.<ref>{{IETF RFC|1324}} - 2.5.1, Size</ref><ref>{{cite web | url=https://psyc.eu/synconf | title=Functionality provided by systems for synchronous conferencing: 1.2.1 Growth | first=Carl | last=von Loesch | date=2003-07-17 | access-date=2019-01-29}}</ref> == Comparison == {| class="wikitable sortable" style="width: auto; text-align: center; font-size: smaller; table-layout: fixed;" ! IRC bot ! [[Software developer|Primary developers]] ! [[Software license]] ! [[Operating system]] ! [[Programming language]] ! First public release - date (version) ! Latest version - date (version) ! Notable features ! Function scope ! [[Website]] |- ! {{Rh}} | AnGeL-Bot{{Anchor|Cardinal}} | Benedikt Hübschen | [[GPL|GPL-3]] | Windows | Visual Basic 6 | 1999 (1.2.0) | 2003-05-31 (1.6.2 BETA 10) | The fastest Windows IRC bot of its time, extensive scripting support via Windows Scripting, compatibility with multiple Active Scripting languages, colored partyline, and Eggdrop-compatible botnet support. | multi-purpose | [https://github.com/bhuebschen/AnGeL-Bot/] |- ! {{Rh}} | Cardinal{{Anchor|Cardinal}} | John Maguire | [[MIT License|MIT]] | Cross-platform | Python 3 | 2013-02-03 (beta) | 2021-01-13 (3.1.0) | Ease of development, re-loadable asynchronous plugins, python decorators for commands, IRC events, simple persistent JSON data storage and a well-documented API. | {{?}} | [https://github.com/JohnMaguire/Cardinal] |- ! {{Rh}} | Pynfo{{Anchor|Pynfo}} | kuran | [[GPL|GPL-2]] | Cross-platform | Python | 2002-10-21 | 2013-02-27 | Network bridging/relaying, basic "infobot" capabilities, googling, 3 access tiers, and a shorter-link function. Easily extensible and fully disk-persistent. | {{?}} | [https://sourceforge.net/projects/pynfo] |- ! {{Rh}} | Supybot{{Anchor|Supybot}} | Jeremiah Fincher, James Vega and others | [[BSD licenses|BSD]] | Cross-platform | Python | ? (0.30) | 2018-05-10 (0.84.0) | Many plugins, SSL, multiple networks support, (un)loading plugins, threads, configuration registry, standardized command syntax, argument parsing | {{?}} | [http://sourceforge.net/projects/supybot/], [https://github.com/Supybot/Supybot] |- ! {{Rh}} | Cerberus{{Anchor|Cerberus}} | [[:de:Benutzer:DeusTron|Stefan Hüsges]] | [[GPL|GPL-3.0]] | Cross-platform | PHP | 2008-02-18 (beta) | 2016-10-04 (1.6.0) | {{?}} | {{?}} | [https://github.com/tronsha/cerberus] |- ! {{Rh}} | Cinch{{Anchor|Cinch}} | Dominik Honnef, Lee Jarvis | MIT | Unix-like | Ruby | 2010-07-08 (0.3.2) | 2015-03-31 (2.2.5) | Threaded, object-oriented | Bot writing framework | [https://github.com/cinchrb/cinch/] |- ! {{Rh}} | CNT Bot{{Anchor|CNT Bot}} | CNT Bot Team | [[Unlicense]] | Unix-like | TCL | 2015-06-15 (0.1) | 2015-07-24 (0.2) | Voting, polling, elect/recall delegates, hold plenaries, admission control, automatically connects to other CNT Bots | Democracy software for digital activists building flat, horizontal networks | [http://cntbot.org] |- ! {{Rh}} | Darkbot{{Anchor|Darkbot}} | Jason Hamilton, juice | GPL | [[Unix-like]] | [[C (programming language)|C]] | ? | ? | ? | responds to user questions from database | [http://darkbot.sourceforge.net/] |- ! {{Rh}} | Daskeb{{Anchor|Daskeb}} | Digit | GPL | [[Unix-like]] | [[Haskell (programming language)|Haskell]] | ? | ? | minimal starter bot | {{?}} | [https://notabug.org/Digit/daskeb/src/master/daskeb.hs] |- ! {{Rh}} | [[Eggdrop]]{{Anchor|Eggdrop}} | Eggheads | GPL | [[Cross-platform]] | C | 1993-12 | 2022-03-06 (1.9.2) | SSL, botnet, partyline, filesharing, user management, IRC bot uptime contest, supports scripting in tcl | multi-purpose | [https://www.eggheads.org/] |- ! {{Rh}} | EnergyMech{{Anchor|EneryMech}} | Proton | GPL | Unix-like | C | 1998-09-10 (2.5.24, first release by Proton) | 2018-03-09 (3.0.99p4) | single-thread multi-bot capable, '''low resource usage''', botnet, user management, channel moderation, built-in irc bouncer, can be upgraded without disconnecting, IRC bot uptime contest, supports scripting in tcl, python. | multi-purpose | [http://www.energymech.net/] |- ! {{Rh}} | Erebot{{Anchor|Erebot}} | François Poirotte | [[GPL|GPL-3.0]] | Cross-platform | PHP | 2010-10-09 | 2011-05-08 | Extensible with many modules and support for multiple networks, multiple identities, SSL/TLS, STARTTLS, IdentD and various IRC daemons extensions. Can be used as a framework to create advanced channel bots. | games | [https://github.com/Erebot/Erebot] |- ! {{Rh}} | Erwin{{Anchor|Erwin}} | Idar Lund | [[GPL|GPL-2.0+]] | Cross-platform | Perl | 2004-04-05 (1.0-beta1) | 2017-03-19 (1.2.0) | Easily expandable by writing new modules. | Replies to users from database. | [http://sourceforge.net/projects/erwin/] |- ! {{Rh}} | FoxBot{{Anchor|FoxBot}} | Lee Watson | [[GPL|GPL-3.0]] | Cross-platform | Java | ? | 2013-09-06 (0.9) | Command framework is designed to make writing commands easy. Has simple and powerful permissions system. Simple and fully explained config. | {{?}} | [https://github.com/TheReverend403/FoxBot] |- ! {{Rh}} | FoxEye{{Anchor|FoxEye}} | Andriy Grytsenko | GPL | Unix-like | C | 2011-01 (beta) | 2011-02-24 (0.9b10) | Multithreaded, multinetworked. Encoding chosen per user or network. Extendible by plugins, can be used as client or whatever. Currently supported scripts: Lua, Tcl. | kit to build internet client / server / gateway, primary for messaging networks | [http://foxeye.sf.net/] |- ! {{Rh}} | Gambot{{Anchor|Gambot}} | Derek Hoagland | [[GPL]] | Unix-like | [[Perl]] | 2011-1-1 | 2011-07-16 (1.0) | Framework for creating bots. Messages handled completely asynchronously. Extensible in any programming language. Can be updated without reconnecting, restarting, or reloading. | Twitter and other feeds, games / memes, | [https://github.com/grickit/Gambot] |- ! {{Rh}} | Gozerbot{{Anchor|Gozerbot}} | Bart Thate | [[BSD licenses|BSD]] | Unix-like | Python | ? | ? (1.0.1) | IRC and [[Extensible Messaging and Presence Protocol|XMPP]] bot; can be bridged with [[Google Wave]] | {{?}} | [https://web.archive.org/web/20160306003449/https://pikacode.com/bthate/gozerbot/] |- ! {{Rh}} | mikoskinen{{Anchor|mikoskinen}} | Geoff Woollams | [[MIT License|MIT]] | [[Cross-platform]] | [[C Sharp (programming language)|C#]] | 2015-10-08 | 2015-10-09 (0.1) | IRC commands can launch any command line or http request to allow any program or script to control the bot by its output. MySQL support for non user initiated actions and 3rd party integration. | {{?}} | [https://github.com/mikoskinen/ircbot-dotnet] |- ! {{Rh}} | guppy{{Anchor|guppy}} | Svetlana Tkachenko | [[GNU General Public License|GPL]] | [[Cross-platform]] | [[Python (programming language)|Python]] | 2011-03-20 | 2012-12-11 (0.4.3) | easy to install, modular structure | multi-purpose | [https://puszcza.gnu.org.ua/projects/guppy/] |- ! {{Rh}} | Ibid{{Anchor|Ibid}} | Jonathan Hitchcock, Michael Gorven, Stefano Rivera | [[GPL3]], core under [[MIT License|MIT]] | Unix-like | Python, [[Twisted (software)|Twisted]] in IM protocols | ? (0.1.0) | ? (0.1.1) | Twisted engine allows connecting to multiple IM sources, including IRC, XMPP, SILC, [[Campfire (software)|Campfire]], NMDC | {{?}} + plugin "factoids" responds to users from database | [https://github.com/caktus/ibid] |- ! {{Rh}} | [[Infobot]]{{Anchor|Infobot}} | Kevin Lenzo | [[Artistic License]] | Unix-like | [[Perl]] | 2004-08 | 2008-08-01 (1.5.3) | ? | replies to users from database | [http://infobot.sourceforge.net/] |- ! {{Rh}} | IrcBot{{Anchor|Supybot}} | Marlinc | [[BSD licenses|BSD]] | Unix-like | PHP | ? (0.1) | ? (1.2) | ? | {{?}} | [https://github.com/Marlinc/IRCBot] |- ! {{Rh}} | jenni{{Anchor|jenni}} | Michael Yanovich | [[Eiffel Forum License|EFLv2]] | Unix-like | Python (2) | ? | ? | Threaded, general purpose, includes some games. Easily expandable by writing new modules. | user management, conversation / lookup, games | [https://github.com/myano/jenni/] |- ! {{Rh}} | irccd{{Anchor|irccd}} | David Demelier | [[ISC license|ISC]] | [[Cross-platform]] | C++17 and JavaScript | 2013-09-13 (1.0.0) | 2021-01-04 (3.1.1) | Multiple servers, rules filtering, templates system, cross-platform, extensible with Javascript and C++ plugins | bot framework | [http://projects.malikania.fr/irccd] |- ! {{Rh}} | Jerkbot{{Anchor|Jerkbot}} | Jason Stephenson | [[Artistic License 2.0]] | [[Cross-platform]] | Sleep | 2014-02-10 (1.0) | 2017-08-29 (1.7.65) | Configurable chatter bot, written as jIRCii script | responsive chatter + learns + modules | [http://cepheidvariable.online/irc] |- ! {{Rh}} | JSONBOT{{Anchor|JSONBOT}} | Bart Thate | MIT | Unix-like | Python | 2010-04 | 2012-03-23 (0.84.4) | Beta | | [https://github.com/melmothx/jsonbot] |- ! {{Rh}} | JZBot{{Anchor|JZBot}} | Alexander Boyd, Maximilian Dirkmann, James Stoker | [[GNU Lesser General Public License|LGPL]] | Cross-platform | [[Java (programming language)|Java]] | ? | ? | ? | feeds, werewolf / maffia, karma system, reminders | [https://archive.today/20130124172851/http://jzbot.googlecode.com/] |- ! {{Rh}} | KGB | Martín Ferrari and Damyan Ivanov | [[GNU General Public License|GPL-2+]] | Cross-platform | Perl | 2008-07-14 (Git) | 2014-09-17 (1.3.3) | KGB is a system that provides notifications on IRC for commits made to Git, Subversion and CVS repositories. | notifications on code commits | [https://metacpan.org/dist/App-KGB/view/script/kgb-bot] |- ! {{Rh}} | Lambdabot{{Anchor|Lambdabot}} | Andrew J. Bromage ''et al.'' | MIT | Unix-like | [[Haskell (programming language)|Haskell]] | ? (1.0) | 2011-01-20 (4.2.3.2) | Many plugins; usable offline as a Haskell development tool; embeddable in [[GHCi]] | haskell development tool | [http://haskell.org/haskellwiki/Lambdabot] |- ! {{Rh}} | Limnoria{{Anchor|Limnoria}} | | [[BSD licenses|BSD]] | Cross-platform | Python | ? | 2022-07-29 (2022.07.29) | See Supybot | A maintained fork of Supybot | [https://github.com/ProgVal/Limnoria] |- ! {{Rh}} | Mozbot{{Anchor|Mozbot}} | Ian Hickson, Chris Crews | [[Mozilla Public License|MPL]] | Cross-platform | Perl | ? | ? | ? | services to developer communities | [https://web.archive.org/web/20120116110244/http://www.mozilla.org/projects/mozbot/] |- ! {{Rh}} | MrBot - AwesomeBot | MattMc | Apache v2 | Cross-platform | Java | November '13 | 2014-06-01 | A Semi-Advanced Java Bot with a ton of feactures and still more coming... join #AwesomeBot on espernet for more info.. | factoids + lastseen | [https://archive.today/20140601192732/https://www.github.com/mattsmc/mrbot] |- ! {{Rh}} | nibblrjr{{Anchor|nibblrjr}} | Kirjava | None | Cross-platform | Javascript | ? | ? | bot framework for creating custom behaviour dynamically | Bot framework | [https://github.com/kirjavascript/nibblrjr] |- ! {{Rh}} | node-irc{{Anchor|node-irc}} | Martyn Smith | GPLv3 | Unix-like | Javascript | ? | 2015-01-16 (0.3.9) | Node- native non blocking | [[NodeJS]] IRC library. | [https://github.com/martynsmith/node-irc] |- ! {{Rh}} | PircBot{{Anchor|PircBot}} | Paul Mutton | GPL | Cross-platform | Java | 2001-08-01 | 2009-12-14 (1.5.0) | Framework for creating bots | framework to create bots | [http://www.jibble.org/pircbot.php] |- ! {{Rh}} | pmxbot{{Anchor|pmxbot}} | YouGov, Jamie Turner, Chris Mulligan | MIT | Unix-like | Python 3 | ? | ? | Designed to be extensible for a work IRC network | conversation, search, games | [https://github.com/yougov/pmxbot] |- ! {{Rh}} | Ruby-rbot{{Anchor|Ruby-rbot}} | ruby-rbot | GPL | Unix-like | [[Ruby (programming language)|Ruby]] | ? | ? | flexible plugin system | Twitter & RSS feeds, searches, games | [http://ruby-rbot.org/] |- ! {{Rh}} | Rubybot{{Anchor|Rubybot}} | umby24 | [[GPL|GPL-3.0]] | Cross-platform | Ruby | ? | 2013-10-30 (4.2) | Simple, yet easily extensible. | user-management | [https://github.com/umby24/Rubybot] |- ! {{Rh}} | Schongo{{Anchor|Schongo}} | Selig, Posiden, Wil | ? | Cross-platform | Python 3 | ? | ? | Focus on simplicity, highly extendable module system, rapid development cycle | internet searches | [https://github.com/DarkDna/Schongo] |- ! {{Rh}} | Shadow{{Anchor|Shadow}} | Aaron Blakely | MIT | Cross-platform | Perl | 2012-08-31 | 2022-06-09 | Reloadable plugins, channel management, weather info, link metadata fetching, RSS, and more. | multi-purpose, bot framework | [https://github.com/ablakely/shadow] |- ! {{Rh}} | Shocky | Shockah, clone1018 | [[GPL|GPL-2.0]] | Cross-platform | Java | {{?}} | {{?}} | A Very advanced Java irc bot, that supports all kinds of stuff | user management, factoids, games, karma system | [https://github.com/Shockah/Shocky3] |- ! {{Rh}} | sircbot | [[Alpine Linux]] | [[GPL|GPL-2.0]] | Unix-like | C (Lua scriptable) | ? | 2011-12-15 | Simple IRC bot for shell and lua scripts | {{?}} | [http://wiki.alpinelinux.org/wiki/Sircbot wiki] |- ! {{Rh}} | Sopel{{Anchor|Sopel}} | dgw, Elsie Powell, Dimitri Molenaars, Elad Alfassa, Ari Koivula | [[Eiffel Forum License|EFLv2]] | Cross-platform | Python | 2012-07-15 (3.0.0) | 2020-08-04 (7.0.6) | SSL, (un)loading of plugins at runtime, threaded, user/channel/plugin settings database, Python 3 support. (Formerly Willie; based originally on phenny) | Twitter & other feeds, internet searches, meetingbot, link information | [https://sopel.chat/] |- ! {{Rh}} | Tennu{{Anchor|Tennu}} | Havvy (Ryan Scheel) | ISC | [[Cross-platform]] | Javascript | 2012-03-08 (1.0.0) | 2016-06-22 (4.9.0) | Node.js, Plugin architecture, Promise driven | user management | [https://tennu.github.io/] |- ! {{Rh}} | Ultros | gdude2002 and rakiru | [[Artistic License 2.0]] | Cross-platform | Python2 | 2013-04-08 (Git) | 2014-09-25 (1.1.0+ - [https://github.com/UltrosBot/Ultros/commits/master see commits]) | Python IRC bot with an extensible plugin and protocol system, and a package manager. Also supports mumble. | internet searches, games | [https://github.com/UltrosBot/Ultros git] |- ! {{Rh}} | VikingBot{{Anchor|VikingBot}} | Tor Henning Ueland | [[GPL|GPL-3.0]] | Unix-like | PHP | ? | 2013-10-09 | Simple PHP based IRC bot with support for secure IRC servers and plugin support | bot stats | [https://github.com/Ueland/VikingBot] |- ! {{Rh}} | Yauib{{Anchor|Yauib}} | Julien Palard | [[BSD licenses|Simplified BSD]] | Cross-platform | Python | 2011-03-22 | ? | Plugins can be written in any language | takes all pubmsg and priv and tries to match the first word as a command to a directory with exec files and the rest as parameters | [https://github.com/julienpalard/yauib] |- |} ==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]] ==References== {{reflist}} ==External links== {{IRC topics}} [[Category:IRC|Bot, Internet Relay Chat]] [[Category:IRC bots| ]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:?
(
edit
)
Template:Anchor
(
edit
)
Template:Cite web
(
edit
)
Template:IETF RFC
(
edit
)
Template:IRC topics
(
edit
)
Template:Reflist
(
edit
)
Template:Rh
(
edit
)
Template:Short description
(
edit
)