Английская Википедия:IRC bot

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Short description

Файл:IrcBot.png
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 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 derivative or Linux) and a fast, stable Internet connection. As IRC has become popular with many dial-up users as well, shell accounts at shell providers 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 lurkers, or hosting trivia, 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 networks such as EFnet and IRCnet without 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 sync across all servers. Allowing for bots in large networks can cause a relevant amount of network traffic overhead which needs to be financed and may even lead to netsplits.[1][2]

Comparison

IRC bot 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 Benedikt Hübschen 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 [1]
Шаблон:Rh | CardinalШаблон:Anchor John Maguire 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. Шаблон:? [2]
Шаблон:Rh | PynfoШаблон:Anchor kuran 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. Шаблон:? [3]
Шаблон:Rh | SupybotШаблон:Anchor Jeremiah Fincher, James Vega and others 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 Шаблон:? [4], [5]
Шаблон:Rh | CerberusШаблон:Anchor Stefan Hüsges GPL-3.0 Cross-platform PHP 2008-02-18 (beta) 2016-10-04 (1.6.0) Шаблон:? Шаблон:? [6]
Шаблон:Rh | CinchШаблон:Anchor 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 [7]
Шаблон:Rh | CNT BotШаблон:Anchor 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 [8]
Шаблон:Rh | DarkbotШаблон:Anchor Jason Hamilton, juice GPL Unix-like C ? ? ? responds to user questions from database [9]
Шаблон:Rh | DaskebШаблон:Anchor Digit GPL Unix-like Haskell ? ? minimal starter bot Шаблон:? [10]
Шаблон:Rh | EggdropШаблон:Anchor 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 [11]
Шаблон:Rh | EnergyMechШаблон:Anchor 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 [12]
Шаблон:Rh | ErebotШаблон:Anchor François Poirotte 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 [13]
Шаблон:Rh | ErwinШаблон:Anchor Idar Lund 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. [14]
Шаблон:Rh | FoxBotШаблон:Anchor Lee Watson 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. Шаблон:? [15]
Шаблон:Rh | FoxEyeШаблон:Anchor 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 [16]
Шаблон:Rh | GambotШаблон:Anchor 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, [17]
Шаблон:Rh | GozerbotШаблон:Anchor Bart Thate BSD Unix-like Python ? ? (1.0.1) IRC and XMPP bot; can be bridged with Google Wave Шаблон:? [18]
Шаблон:Rh | GraystoneШаблон:Anchor Geoff Woollams MIT Cross-platform 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. Шаблон:? [19]
Шаблон:Rh | guppyШаблон:Anchor Svetlana Tkachenko GPL Cross-platform Python 2011-03-20 2012-12-11 (0.4.3) easy to install, modular structure multi-purpose [20]
Шаблон:Rh | IbidШаблон:Anchor Jonathan Hitchcock, Michael Gorven, Stefano Rivera GPL3, core under MIT Unix-like Python, Twisted in IM protocols ? (0.1.0) ? (0.1.1) Twisted engine allows connecting to multiple IM sources, including IRC, XMPP, SILC, Campfire, NMDC Шаблон:? + plugin "factoids" responds to users from database [21]
Шаблон:Rh | InfobotШаблон:Anchor Kevin Lenzo Artistic License Unix-like Perl 2004-08 2008-08-01 (1.5.3) ? replies to users from database [22]
Шаблон:Rh | IrcBotШаблон:Anchor Marlinc BSD Unix-like PHP ? (0.1) ? (1.2) ? Шаблон:? [23]
Шаблон:Rh | jenniШаблон:Anchor Michael Yanovich EFLv2 Unix-like Python (2) ? ? Threaded, general purpose, includes some games. Easily expandable by writing new modules. user management, conversation / lookup, games [24]
Шаблон:Rh | irccdШаблон:Anchor David Demelier 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 [25]
Шаблон:Rh | JerkbotШаблон:Anchor 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 [26]
Шаблон:Rh | JSONBOTШаблон:Anchor Bart Thate MIT Unix-like Python 2010-04 2012-03-23 (0.84.4) Beta [27]
Шаблон:Rh | JZBotШаблон:Anchor Alexander Boyd, Maximilian Dirkmann, James Stoker LGPL Cross-platform Java ? ? ? feeds, werewolf / maffia, karma system, reminders [28]
Шаблон:Rh | KGB Martín Ferrari and Damyan Ivanov GPL-2+ Cross-platform Perl 2008-07-14 (Git) 2014-09-17 (1.3.3 see commits) KGB is a system that provides notifications on IRC for commits made to Git, Subversion and CVS repositories. notifications on code commits [29]
Шаблон:Rh | LambdabotШаблон:Anchor Andrew J. Bromage et al. MIT Unix-like 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 [30]
Шаблон:Rh | LimnoriaШаблон:Anchor BSD Cross-platform Python ? 2022-07-29 (2022.07.29) See Supybot A maintained fork of Supybot [31]
Шаблон:Rh | MozbotШаблон:Anchor Ian Hickson, Chris Crews MPL Cross-platform Perl ? ? ? services to developer communities [32]
Шаблон: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 [33]
Шаблон:Rh | nibblrjrШаблон:Anchor Kirjava None Cross-platform Javascript ? ? bot framework for creating custom behaviour dynamically Bot framework [34]
Шаблон:Rh | node-ircШаблон:Anchor Martyn Smith GPLv3 Unix-like Javascript ? 2015-01-16 (0.3.9) Node- native non blocking NodeJS IRC library. [35]
Шаблон:Rh | PircBotШаблон:Anchor Paul Mutton GPL Cross-platform Java 2001-08-01 2009-12-14 (1.5.0) Framework for creating bots framework to create bots [36]
Шаблон:Rh | pmxbotШаблон:Anchor YouGov, Jamie Turner, Chris Mulligan MIT Unix-like Python 3 ? ? Designed to be extensible for a work IRC network conversation, search, games [37]
Шаблон:Rh | Ruby-rbotШаблон:Anchor ruby-rbot GPL Unix-like Ruby ? ? flexible plugin system Twitter & RSS feeds, searches, games [38]
Шаблон:Rh | RubybotШаблон:Anchor umby24 GPL-3.0 Cross-platform Ruby ? 2013-10-30 (4.2) Simple, yet easily extensible. usermanagement [39]
Шаблон:Rh | SchongoШаблон:Anchor Selig, Posiden, Wil ? Cross-platform Python 3 ? ? Focus on simplicity, highly extandable module system, rapid development cycle internet searches [40]
Шаблон:Rh | ShadowШаблон:Anchor 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 [41]
Шаблон:Rh | Shocky Shockah, clone1018 GPL-2.0 Cross-platform Java Шаблон:? Шаблон:? A Very advanced Java irc bot, that supports all kinds of stuff user management, factoids, games, karma system [42]
Шаблон:Rh | sircbot Alpine Linux GPL-2.0 Unix-like C (Lua scriptable) ? 2011-12-15 Simple IRC bot for shell and lua scripts Шаблон:? git wiki
Шаблон:Rh | SopelШаблон:Anchor dgw, Elsie Powell, Dimitri Molenaars, Elad Alfassa, Ari Koivula 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 [43]
Шаблон:Rh | TennuШаблон:Anchor 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 [44]
Шаблон:Rh | Ultros gdude2002 and rakiru Artistic License 2.0 Cross-platform Python2 2013-04-08 (Git) 2014-09-25 (1.1.0+ - see commits) Python IRC bot with an extensible plugin and protocol system, and a package manager. Also supports mumble. internet searches, games git site
Шаблон:Rh | VikingBotШаблон:Anchor Tor Henning Ueland 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 [45]
Шаблон:Rh | YauibШаблон:Anchor Julien Palard 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 [46]

In popular culture

See also

References

Шаблон:Reflist

External links

Шаблон:IRC topics