PDA

Просмотр полной версии : [SPiB] Safety Perl Irc Bot


eLWAux
09.01.2009, 21:34
S.P.i.B.
Safety Perl Irc Bot v0.5stable
http://s43.radikal.ru/i099/0901/b2/c30a3fa5f62d.jpg (http://spib.sourceforge.net/)


SPiB - ето бот для iRC чатов, которий может играть роль сервисного, развлекательного,etc бота)
Основным достоинством является модульность и легкость добавления новых функций.
Бот написанный на языке программирования PERL, что делает бота более "быстрим", (в плане исполнения, принятия и обработки входних сообщений)


Бот простой в управлении, настройке, и есть кросплатформний..
Бот состоит из главного скрипта, к которому можно подключать плагины на PERL, неограниченно расширяя его функционал.
Каждый программист (PERL и не только) сможет без трудностей написать дополнительный модуль.

Для нормальной работы бота в системе должен быть установлен
и настроенный интерпретатор perl
(можно скачать из: http://www.perl.org/get.html
для ОС Windows, Linux, Mac OS X, Solaris, AIX.. etc)
или установлен ActivePerl или любая *nix ос.

несколько скриншотов:
http://s45.radikal.ru/i110/0903/d3/33844ffec6dct.jpg (http://radikal.ru/F/s45.radikal.ru/i110/0903/d3/33844ffec6dc.jpg.html)http://s45.radikal.ru/i108/0903/f8/7fadc822c6b0t.jpg (http://radikal.ru/F/s45.radikal.ru/i108/0903/f8/7fadc822c6b0.jpg.html)http://s39.radikal.ru/i083/0903/eb/05d20c34494bt.jpg (http://radikal.ru/F/s39.radikal.ru/i083/0903/eb/05d20c34494b.jpg.html)http://i036.radikal.ru/0903/97/15b69a879fdbt.jpg (http://radikal.ru/F/i036.radikal.ru/0903/97/15b69a879fdb.jpg.html)http://s57.radikal.ru/i158/0903/7c/0bc48e48aba7t.jpg (http://radikal.ru/F/s57.radikal.ru/i158/0903/7c/0bc48e48aba7.jpg.html)

http://s49.radikal.ru/i125/0903/f0/5edfbf9ff901t.jpg (http://radikal.ru/F/s49.radikal.ru/i125/0903/f0/5edfbf9ff901.jpg.html)http://s45.radikal.ru/i108/0903/f7/64bd7c84df97t.jpg (http://radikal.ru/F/s45.radikal.ru/i108/0903/f7/64bd7c84df97.jpg.html)http://s48.radikal.ru/i119/0903/70/e205eec6630dt.jpg (http://radikal.ru/F/s48.radikal.ru/i119/0903/70/e205eec6630d.jpg.html)http://s60.radikal.ru/i168/0903/04/23baeed1322dt.jpg (http://radikal.ru/F/s60.radikal.ru/i168/0903/04/23baeed1322d.jpg.html)http://i052.radikal.ru/0903/28/db70fc0e3066t.jpg (http://radikal.ru/F/i052.radikal.ru/0903/28/db70fc0e3066.jpg.html)

команды бота:
!about - информация о боте
!about c - информация о подключених плагинах
!bm new/чисто/stat - игра больше-меньше
!cmd cmd/eval/sys COMMAND - команда/evav/системная каманд'и
!code base64/md5/md4/md2/sha1/crypt "text" +/- - кодирование\декодирование текста
!cs сервер порт [e] - мониторинг CS-сервера
!deop ник - -o пользователя
!op ник - +o пользователя
!google запрос - парсинг ответов гугла
!icq номер текст - отправка ICQ сообщения
!list add/del/edit ник - редактирование admins.cfg
!msg chan/nick "text" 1/0(ME/MSG) - отправка сообщений, от имени бота
!perm +/-(o,v,q,...) nick1[,nick2] - смена прав пользователям
!quit - виход бота
!quiz new/ответ/stat - викторина
!restart - перезагрузка бота
!status - информация о сервере
!vote "question" "answ1" "answ2" ... - голосование
!weather Gorod - погода

линки по теме:
офф сайт (http://spib.sourceforge.net/)
how2use (http://spib.sourceforge.net/Howto.use.txt)
readm.e (http://spib.sourceforge.net/READm.e.txt)
Change.Log (http://spib.sourceforge.net/Change.Log.txt)
для программиста (http://spib.sourceforge.net/to.Programmer.txt)
скриншоти (http://spib.sourceforge.net/screen.html)
описание команд бота (http://spib.sourceforge.net/cOmmanDs.txt)
СКАЧАТЬ (http://sourceforge.net/projects/spib/)
/s irc.antichat.net:7771, /j #spib

Последние версии, а также плагины, документацию и многое другое Вы можете скачать с официального сайта.


spib является свободно распространяющим (freeware) скриптом из
GNU General Public License (GPL) лицензией.

De-visible
10.01.2009, 00:03
хм а зачем он? ведь есть альтернативы...

eLWAux
10.01.2009, 00:13
хм а зачем он? ведь есть альтернативы...
вот я хочу сделать єщо одну альтернативу ;)
...более функциональную и быструю альтернативу.

De-visible
10.01.2009, 00:18
вот я хочу сделать єщо одну альтернативу ;)
...более функциональную и быструю альтернативу.
Понятно)), ну тогда добавь еще что нить, что не у других клиентов)

eLWAux
10.01.2009, 00:35
ну тогда добавь еще что нить, что не у других клиентов)
говори что - добавлю)

Dimi4
10.01.2009, 00:47
Вроде Паблик (: так как:
http://sourceforge.net/

eLWAux
10.01.2009, 00:58
Вроде Паблик (:
да, паблик
но я пока хочу чтоб хоть чуть-чуть протестировали бота, кто может..,
и я выпущу хоть первую стабильную версию.
а затем попрошу модеров перенести тему в открытый раздел..

De-visible
10.01.2009, 04:27
Вроде Паблик (: так как:
http://sourceforge.net/
А это и не приват раздел.(не большой фильтр (с) )

rushter
10.01.2009, 23:25
Добавь в него простенькие игры,такие боты пользуються большим спросом.
К примеру викторину,виселицу ну и т.д.

biophreak
11.01.2009, 13:28
Каким образом у тебя происходит подключение дополнительных модулей?
И обрабатывается как-то подключение модуля с ошибкой?

PS: Если интересно, то от себя могу предложить сделать модуль ICQ2IRC...Я писал гейт, но код там, откровенно говоря пипец :)
http://icq2irc.googlecode.com

eLWAux
11.01.2009, 16:44
Каким образом у тебя происходит подключение дополнительных модулей?
И обрабатывается как-то подключение модуля с ошибкой?
на сайте есть раздел to.Programmer (пока пустой, но в более близкое время будет наполнен информацией), там все будет детально описано, как написать модуль для бота на delphi, perl или php языках.. пока сайт на стадии разработки.. как только обновлю, сразу здесь напишу ..
от себя могу предложить сделать модуль ICQ2IRC
я обеими руками только за!
боту нужно развиваться, а дополнительные модули только помогут ему в этом )

eLWAux
13.01.2009, 23:51
обновление: spib v0.04
[+] добавил два нових модуля:
!quiz (викторина (+база ~159000 вопросов))
!bm (игра - больше-менше)
[+] теперь !vote плагин работает на все 100%
http://i036.radikal.ru/0903/97/15b69a879fdbt.jpg (http://radikal.ru/F/i036.radikal.ru/0903/97/15b69a879fdb.jpg.html)
[+] на сайте добавлени новие раздели + добавлени скриншоти
[~] намного изменен сам код бота)
[~] обновил сайт и первий пост)

скриншоти на офф.сайте (https://sourceforge.net/project/screenshots.php?group_id=249553)
скачать SPiB v0.04 (http://sourceforge.net/project/showfiles.php?group_id=249553&package_id=304864&release_id=653557)

eLWAux
14.01.2009, 22:34
добавил модуль icq

http://s48.radikal.ru/i122/0901/2e/7f8f232f6b73.jpg (http://s48.radikal.ru/i122/0901/2e/7f8f232f6b73.jpg)

теперь можно писать в icq прямо из irc чата!
чтобы отправить сообщение msg на номер number нужно:
!icq num msg
!icq номер сообщение
пример: !icq 1234567 привет!

Скачать icq plugin (https://sourceforge.net/project/showfiles.php?group_id=249553&package_id=306235&release_id=653763)
Все Пакеты (https://sourceforge.net/project/showfiles.php?group_id=249553)

--
добавил модуль quiz викторина

http://s39.radikal.ru/i083/0903/eb/05d20c34494b.jpg

молуль викторини "вопрос"-"ответ".
кто правильно ответил, +1 в статистику.

вопроси хранятса в файле \plugins\quiz\questions.txt в формате:
вопрос|ответ
пример: вопрос|ответ
напишите "ответ"|ответ
как зовут бота?|spib
кто создатель бота?|eLwaux
любимий сайт|forum.antichat.ru

Скачать quiz plugin (http://spib.sourceforge.net/)
Все Пакеты (http://spib.sourceforge.net/)

eLWAux
04.02.2009, 02:20
добавил модуль cs monitoring

http://i075.radikal.ru/0902/00/cd151dfed28d.jpg
плагин для мониторинга сервера cs.
(поддерживает протоколи 48 и младшие)

команди:
"легкая" проверка: !cs сервер порт e
полная проверка: !cs сервер порт

http://multi-up.com/55140

eLWAux
01.03.2009, 18:00
^up^

обновления до версии 0.05stable:

главние изминения:
[+] добавлено плагини:
weather - погода (плагин написан на Delphi, сорси присутствуют)
list - управление списком админов
code - кодирование\ декодирование текста
[~] переделано:
onUserConnect
onTimeout
кик юзера (/ns ghost nick passw)
коннект к каналу +k
изминение топика канала

eLWAux
17.03.2009, 23:17
добавил модуль code

http://i027.radikal.ru/0903/16/6a7ef9e3083b.jpg
плагин кодирования\декодирования текста.
(поддерживает base64/md5/md4/md2/sha1/crypt)
Для корректной роботи необходим модуль Digest

команди:
!code тип "текст" +/- кодирование (+) \ декодирование (-) текста'а тип'ом
пример:
!code base64 "aGVsbG8=" - декодирование текста aGVsbG8= методом base64

Скачать (http://spib.sourceforge.net/)

eLWAux
18.03.2009, 00:28
ппц всякую хню в иизбранное толкают, а мне тут кое кто рассказывал что тут только стоящее должно быть)))
Избранные темы форума, сайта. Релизы участников форума.
Эксклюзивные темы.
да, не спорю, много что раньше было по другому, но все меняетса со временем.. )
но Релизы всегда остаются Релизами, и место их тут.. для того же раздел и существует..)

eLWAux
18.03.2009, 01:36
Эксклюзив во истину.
Избранные темы форума, сайта. Релизы участников форума.
Эксклюзивные темы.
Если не заметил, я выделил "Релизы участников форума.", но никак не "Эксклюзивные темы."..
Эксклюзивный, не эксклюзивный, но мой.. мой Релиз..!

laedafess
19.03.2009, 19:47
я на пхп бота в ирц писал.. правда код там - ужс, но работает:) и даже флудить умеет:D

eLWAux
19.03.2009, 21:26
laedafess, ну у меня вроде код не такой и страшный)
и даже флудить умеет
при желании, до моего бота можно доделать плагин для флуда\спама
(:

laedafess
20.03.2009, 16:43
ну у меня вроде код не такой и страшный) да, у тя все ровненько:)
P.S. щас решил потестить, а он меня обругал(
"-T" is on the #! line, it must also be used on the command line at C:\***\spib5\SPiB.pl line 1. мож, я не все прочитал в ридм.и или актив перл у мну неправильный..
Я перл не знаю, но вродь додумался убрать это -T из первой строчки. Ну он запустился, вывалил мне кучу ошибок=) В основном:
Use of uninitialized value in string eq at C:\***\spib5\SPiB.pl line 75, <FILE> line 25.
и кроме команды !about ниче не умеет=(

eLWAux
20.03.2009, 22:21
сделай такими первие строчки:
#!/usr/bin/perl
#use strict;
use IO::Socket;
......

и отредактируй config.cfg, возможно там нет какого-то значения:
;=command;file
;=--=-=-===============

mail;email@bota.com
chan_pass;пароль_для_канала_._ес и_нету_оставить_пустим_или_ пробел

server;irc.antichat.net
port;7771
chan;#spib
topic;testing topic

nickname;ник_бота
password;пароль_бота
ident;safety
botinfo;I'm safety perl bot (:

msgOnConnect;всем привет!)

admins;admins.cfg
plugDir;plugins/

logging;1
DEBUG;1

;=--=-=-===============
PLUGINS
0;onAutorun.pl
!about;about.pl ;информация о боте
;=--=-=-===============

и попробуй запустить..
только что проверил, у меня все работает..

laedafess
20.03.2009, 23:30
всё, разобрался, работает:) но -wT наверно нужно убрать из http://sourceforge.net/projects/spib/

rambotnick
21.03.2009, 17:49
:D и к чему ето?)
давай не будем разводить тут болталку)
все в порядке все просто тсупер олн просто умер

BEJIbXEOP
02.05.2009, 21:45
такая проблема, коонектится в irc.quakenet.org:6667 и на этом моменте зависает, в канал не заходит

eLWAux
02.05.2009, 23:45
(72 строчку в setup.pl) и (136 строчку в spib.pl) замени на:
if ($input =~ /^PING (.\d+)/i) {
непонятно из-за чего, проблемы с пингом..

setup.pl :
-==-=-====-=========================-==-====-=-==-
-= s.p.i.b. setup -=-
-= version 0.1s -=-=-==
-= by eLwaux ---==-=-====-====-=
-==-=-====-==========-=-=-========-=========-====-

[+] connected to irc.quakenet.org:6667!
[+] registered!
mynickname :: mysuperpassword
[+] channel "#spib"registered!
[+] F1n15h!

и spib.pl )
попробовал на нескольких посторонних ботах - такая же фигня - заходит через раз и тупит..
возможно из-за нагрузки на сервере :)
там уже около 70'000 каналов!..

winner13
05.05.2009, 03:05
У меня , нормально всё и конект держит и заходит , но на команды не отвликается =/ .Хз чё нге так , по идее должен, просто обязан отвлекаться на мои команды раз конект сделал....



А всё ссори +) сам намудрил в конфигах +) всё норм , отличный бот , мне понравился +).

syava
08.05.2009, 18:59
Я вот не понимаю что это делает в разделе под названием "Избранное", ну было бы оно написано хотя бы на C/C++ я бы еще понял, человек хотя бы с разбором строк поебался бы. А код говно, так называемые плугины тупо читаются из файла и выполняются eval'ом, по нормальному то там бы следовало бы сделать класс. И зачем вот такую хрень while (my $input = <$sock>) городить? Есть много различных модулей написанных в соответствии с rfc, например вот этот AnyEvent::IRC::Client с использованием библиотеки событий, на нем можно было бы сделать активный бот, а не тупо висящую на сокете херню. И да ребята, не засирайте SourceForge.

eLWAux
08.05.2009, 20:35
использовать готовые библиотеки , типа Net::IRC, AnyEvent::IRC::Client, etc , может любой дурак =) а вот самим разобраться с протоком / почитать RFC намного интереснее)
while (my $input = <$sock>)
может предложишь аналог?)

syava
08.05.2009, 21:08
>использовать готовые библиотеки , типа Net::IRC, AnyEvent::IRC::Client, etc , может любой дурак =) а вот самим разобраться с протоком / почитать RFC намного интереснее)
использовать готовые библиотеки стоит для того чтобы не изобретать велосипед. а протокол ирца слишком прост чтобы его реализация позволила прокачать скиллы. я уж не говорю что этих ботов хоть жопой ешь.
>может предложишь аналог?)
я имел ввиду что с таким подходом бот может только отвечать на сообщения, а сам послать (по таймеру) например хрен.

а замечание на счёт системы плугинов ты оставил без ответа