Введение

Набор скриптов или независимая программа, которая подключается к Internet Relay Chat в качестве клиента. IRC-бот — это набор скриптов или независимая программа, подключающаяся к Internet Relay Chat как клиент и, таким образом, отображающаяся другим пользователям IRC как ещё один пользователь. IRC-бот отличается от обычного клиента тем, что вместо обеспечения интерактивного доступа к IRC для человека, он выполняет автоматические функции.

Функция

Часто IRC-бот развертывается как отдельная программа, работающая на стабильном хосте. Он находится на IRC-канале, чтобы поддерживать его активность и предотвратить захват канала злоумышленниками. Его можно настроить для автоматической выдачи статуса оператора канала привилегированным пользователям при их присоединении, а также для ведения единого списка операторов канала. Многие из этих функций требуют, чтобы бот имел статус оператора канала. Поэтому большинство IRC-ботов запускаются на компьютерах с длительным временем безотказной работы (обычно на производных BSD или Linux) и быстрым, стабильным интернет-соединением. Поскольку IRC стал популярен среди пользователей с dial-up подключением, shell-аккаунты у провайдеров стали востребованы как стабильные Linux-серверы с достойным соединением для запуска ботов. Помимо управления правами доступа к каналу, бот может выполнять такие функции, как ведение журнала сообщений в IRC-канале, предоставление информации по запросу (особенно популярно в каналах поддержки пользователей), создание статистики по самым активным участникам канала и самым долго находящимся в режиме скрытности, а также организация викторин, Uno и других игр. Эти функции обычно реализуются с помощью скриптов, часто написанных на скриптовых языках программирования, таких как Tcl или Perl, самими пользователями бота. Каналы, предназначенные для обмена файлами, часто используют XDCC-ботов для распространения файлов. IRC-боты особенно полезны в IRC-сетях, таких как EFnet и IRCnet, где отсутствуют службы регистрации каналов, а также в сетях, таких как Undernet или QuakeNet, которые требуют выполнения определенных условий (минимальное количество пользователей и т.д.) перед регистрацией канала. В случаях, когда боты используются для административных задач, им может потребоваться больший уровень доступа, чем обычному клиентскому соединению. Некоторые версии IRC имеют протокол "Service", который предоставляет клиентам дополнительные возможности. Такие боты, одобренные сервером, называются IRC-сервисами. Однако боты не всегда приветствуются. Некоторые IRC-сети запрещают их использование. Одна из причин этого заключается в том, что каждый подключенный никнейм увеличивает размер сетевой базы данных, которая синхронизируется между всеми серверами. Разрешение использования ботов в крупных сетях может привести к значительному увеличению сетевого трафика, что требует финансирования и даже может привести к разделению сети.

Сравнение

IRC бот Основные разработчики Лицензия программного обеспечения Операционная система Язык программирования Дата первого публичного выпуска (версия) Дата последней версии (версия) Примечательные особенности Область действия Веб-сайт AnGeL Bot Benedikt Hübschen GPL 3 Windows Visual Basic 6 1999 (1.2.0) 2003 05 31 (1.6.2 BETA 10) Самый быстрый Windows IRC бот своего времени, обширная поддержка скриптов через Windows Scripting, совместимость с несколькими языками Active Scripting, цветная сюжетная линия и поддержка ботнета, совместимая с Eggdrop. многоцелевой Cardinal John Maguire MIT Кросс-платформа Python 3 2013 02 03 (beta) 2021 01 13 (3.1.0) Легкость разработки, перезагружаемые асинхронные плагины, Python-декораторы для команд, события IRC, простое постоянное хранение данных JSON и хорошо документированный API. Pynfo kuran GPL 2 Кросс-платформа Python 2002 10 21 2013 02 27 Мостное/ретрансляционное сетевое взаимодействие, базовые возможности "инфобота", поиск в Google, 3 уровня доступа и функция более коротких ссылок. Легко расширяемый и полностью дисковый. Supybot Jeremiah Fincher, James Vega и другие BSD Кросс-платформа Python ? (0.30) 2018 05 10 (0.84.0) Много плагинов, SSL, поддержка нескольких сетей, (разгрузка) плагинов, потоков, регистрация конфигурации, стандартизированный синтаксис команд, анализ аргументов. Cerberus Stefan Hüsges GPL 3.0 Кросс-платформа PHP 2008 02 18 (beta) 2016 10 04 (1.6.0) Cinch Dominik Honnef, Lee Jarvis MIT Unix-подобная Ruby 2010 07 08 (0.3.2) 2015 03 31 (2.2.5) Многопоточный, объектно-ориентированный фреймворк для написания ботов. CNT Bot CNT Bot Team Unlicense Unix-подобная TCL 2015 06 15 (0.1) 2015 07 24 (0.2) Голосование, опрос, избрание/отзыв делегатов, проведение пленарных заседаний, контроль за входом, автоматическое подключение к другим ботам CNT. Программное обеспечение для демократии цифровых активистов, создание плоских горизонтальных сетей. Darkbot Jason Hamilton, juice GPL Unix-подобная C ? ? Отвечает на вопросы пользователей из базы данных. Daskeb Digit GPL Unix-подобная Haskell ? ? Минимальный стартовый бот. Eggdrop Eggheads GPL Кросс-платформа C 1993 12 2022 03 06 (1.9.2) SSL, ботнет, партийная линия, обмен файлами, управление пользователями, конкурс за время работы бота IRC, поддерживает скриптирование в tcl. Многоцелевой. EnergyMech Proton GPL Unix-подобная C 1998 09 10 (2.5.24, первый релиз Proton) 2018 03 09 (3.0.99p4) Однопоточный, многоботный, низкое использование ресурсов, ботнет, управление пользователями, модерация канала, встроенный в irc bouncer, может быть обновлен без отключения, конкурс за время работы бота IRC, поддерживает скриптирование в tcl, python. Многоцелевой. Erebot François Poirotte GPL 3.0 Кросс-платформа PHP 2010 10 09 2011 05 08 Расширяемый с множеством модулей и поддержкой нескольких сетей, нескольких идентификаторов, SSL / TLS, STARTTLS, IdentD и различных расширений IRC-демонов. Может использоваться в качестве основы для создания продвинутых ботов каналов. Erwin Idar Lund GPL 2.0+ Кросс-платформа Perl 2004 04 05 (1.0 beta1) 2017 03 19 (1.2.0) Легко расширяемая с помощью написания новых модулей. Ответы пользователям из базы данных. FoxBot Lee Watson GPL 3.0 Кросс-платформа Java ? 2013 09 06 (0.9) Фреймворк команд предназначен для упрощения написания команд. Имеет простую и мощную систему разрешений. Простая и полностью объясненная конфигурация. FoxEye Andriy Grytsenko GPL Unix-подобная C 2011 01 (beta) 2011 02 24 (0.9b10) Многопоточный, многосетевой. Кодировка выбирается для каждого пользователя или сети. Расширяется плагинами, может использоваться как клиент или что-то еще. В настоящее время поддерживаемые скрипты: Lua, Tcl. Комплект для создания интернет-клиента / сервера / шлюза, основной для сетей обмена сообщениями. Gambot Derek Hoagland GPL Unix-подобная Perl 2011 01 01 2011 07 16 (1.0) Фреймворк для создания ботов. Сообщения обрабатываются полностью асинхронно. Расширяется на любом языке программирования. Может быть обновлен без повторного подключения, перезагрузки или перезагрузки. Twitter и другие ленты, игры / мемы. Gozerbot Bart Thate BSD Unix-подобная Python ? ? (1.0.1) IRC и XMPP бот; может быть соединен с Google Wave. mikoskinen Geoff Woollams MIT Кросс-платформа C# 2015 10 08 2015 10 09 (0.1) Команды IRC могут запускать любую командную строку или запрос http, чтобы позволить любой программе или скрипту управлять ботом по его выводу. Поддержка MySQL для не пользовательских инициативных действий и интеграции третьей стороны. guppy Svetlana Tkachenko GPL Кросс-платформа Python 2011 03 20 2012 12 11 (0.4.3) Легкая в установке, модульная структура. Многоцелевой. Ibid Jonathan Hitchcock, Michael Gorven, Stefano Rivera GPL3, ядро под MIT Unix-подобная Python, Twisted в протоколах IM ? (0.1.0) ? (0.1.1) Twisted engine позволяет подключаться к нескольким источникам IM, включая IRC, XMPP, SILC, Campfire, NMDC + плагин "factoids" отвечает пользователям из базы данных. Infobot Kevin Lenzo Artistic License Unix-подобная Perl 2004 08 2008 08 01 (1.5.3) ? Ответы пользователям из базы данных. IrcBot Marlinc BSD Unix-подобная PHP ? (0.1) ? (1.2) ? jenni Michael Yanovich EFLv2 Unix-подобная Python (2) ? ? Многопоточный, общего назначения, включает некоторые игры. Легко расширяется с помощью написания новых модулей. Управление пользователями, разговор / поиск, игры. irccd David Demelier ISC Кросс-платформа C++17 и JavaScript 2013 09 13 (1.0.0) 2021 01 04 (3.1.1) Несколько серверов, фильтрация правил, система шаблонов, кросс-платформенность, расширяемость с помощью плагинов Javascript и C++. Фреймворк для ботов. Jerkbot Jason Stephenson Artistic License 2.0 Кросс-платформа Sleep 2014 02 10 (1.0) 2017 08 29 (1.7.65) Настраиваемый болтун, написанный как скрипт jIRCii. Отзывчивый болтун + учится + модули. JSONBOT Bart Thate MIT Unix-подобная Python 2010 04 2012 03 23 (0.84.4) Beta JZBot Alexander Boyd, Maximilian Dirkmann, James Stoker LGPL Кросс-платформа Java ? ? ? Ленты, оборотень / мафия, система кармы, напоминания. KGB Martín Ferrari and Damyan Ivanov GPL 2+ Кросс-платформа Perl 2008 07 14 (Git) 2014 09 17 (1.3.3) KGB — это система, которая предоставляет уведомления на IRC о коммитах, сделанных в репозиториях Git, Subversion и CVS. Уведомления о коммитах кода. Lambdabot Andrew J. Bromage et al. MIT Unix-подобная Haskell ? (1.0) 2011 01 20 (4.2.3.2) Много плагинов; может использоваться в автономном режиме как инструмент разработки на Haskell; встраиваемый в GHCi. Инструмент разработки на Haskell. Limnoria BSD Кросс-платформа Python ? 2022 07 29 (2022.07.29) Смотрите Supybot. Поддерживаемая вилка Supybot. Mozbot Ian Hickson, Chris Crews MPL Кросс-платформа Perl ? ? ? Услуги для сообществ разработчиков. MrBot AwesomeBot MattMc Apache v2 Кросс-платформа Java Ноябрь '13 2014 06 01 Полурасширенный Java бот с множеством функций и еще больше впереди. Присоединяйтесь к #AwesomeBot на espernet для получения дополнительной информации. Факты + последний раз видели. nibblrjr Kirjava None Кросс-платформа Javascript ? ? Фреймворк для ботов для создания пользовательского поведения динамически. Фреймворк для ботов. node irc Martyn Smith GPLv3 Unix-подобная Javascript ? 2015 01 16 (0.3.9) Node native non blocking NodeJS IRC библиотека. PircBot Paul Mutton GPL Кросс-платформа Java 2001 08 01 2009 12 14 (1.5.0) Фреймворк для создания ботов. Фреймворк для создания ботов. pmxbot YouGov, Jamie Turner, Chris Mulligan MIT Unix-подобная Python 3 ? ? Предназначен для расширения для рабочей IRC сети. Разговор, поиск, игры. Ruby rbot ruby rbot GPL Unix-подобная Ruby ? ? Гибкая система плагинов. Twitter & RSS ленты, поиск, игры. Rubybot umby24 GPL 3.0 Кросс-платформа Ruby ? 2013 10 30 (4.2) Простой, но легко расширяемый. Управление пользователями. Schongo Selig, Posiden, Wil ? Кросс-платформа Python 3 ? ? Ориентирован на простоту, высоко расширяемая модульная система, быстрый цикл разработки. Поиск в интернете. Shadow Aaron Blakely MIT Кросс-платформа Perl 2012 08 31 2022 06 09 Перезагружаемые плагины, управление каналами, информация о погоде, получение метаданных ссылок, RSS и многое другое. Многоцелевой, фреймворк для ботов. Shocky Shockah, clone1018 GPL 2.0 Кросс-платформа Java ? Очень продвинутый Java irc бот, который поддерживает все виды вещей. Управление пользователями, факты, игры, система кармы. sircbot Alpine Linux GPL 2.0 Unix-подобная C (Lua scriptable) ? 2011 12 15 Простой IRC бот для shell и lua скриптов. wiki Sopel dgw, Elsie Powell, Dimitri Molenaars, Elad Alfassa, Ari Koivula EFLv2 Кросс-платформа Python 2012 07 15 (3.0.0) 2020 08 04 (7.0.6) SSL, (разгрузка) плагинов во время выполнения, многопоточность, база данных настроек пользователя/канала/плагина, поддержка Python 3. (Ранее Willie; изначально основан на phenny). Twitter и другие ленты, поиск в интернете, я...