Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [perl] Simple ICQ bot (https://forum.antichat.xyz/showthread.php?t=102110)

eLWAux 19.01.2009 22:42

[perl] Simple ICQ bot
 
Вложений: 1
http://www.mecelectrica.ru/images/icq.gif
простой ICQ бот на perl!, основным достоинством которого является модульность и легкость добавления новых функций.

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

* Администрирование бота осуществляется по ICQ.
* Легкость разработки и установки плагинов
* Основной скрипт обладает множеством функций для упрощения разработки плагинов, благодаря чему разработка плагина фактически состоит только из написания непосредственно выполняемой им функции
* Для добавления нового плагина боту нужно всего лишь поместить файл плагина в папку плагинов и перезапустить бота.
* Огромные возможности плагинов
* Возможности плагинов ограничены лишь возможностями языка perl


для корректной работы необходим ActivePerl или любая ос *nix.

в config.ini настройки (формат: имя = значение) :
Цитата:

icq сервер:
host == login.oscar.aol.com
порт сервера:
port == 5190

номер админа:
admin == 7434214
пароль для входа в админку:
admin_password == passw
BOT_uin == uin_бота
BOT_password == пароль_uin_бота

логирование (1 - да, 0 - нет):
logging == 1
папка с логами:
log_folder == log\
режим откладки:
DEBUG == 0
папка с логами откладки:
DEBUG_folder == debug\
в plugins.ini список плагинов (в формате: команда;файл):
Цитата:

админка:
!admin;admin.pl
!exit - отключает бота:
!exit;exit.pl
!reboot - перезагрузка ПК:
!reboot;reboot.pl
!shutdown- выключение ПК:
!shutdown;shutdown.pl

написание плагина
любой программист может написать свой плагин для бота, придерживаясь спецификации языка программирования perl.
бот передает вашему скрипту следующие переменные:
* $rs - ответ сервера
* $_UIN - номер отправителя
* $_MSG - сообщение
* @_MESG - масив слов в сообщении (пример:
$_MSG = 'hello my name elwaux', тогда
@_MESG[1]='hello', @_MESG[2]='my', @_MESG[3]='name', ...)
* $admin - номер админа
* $uin - номер бота
* $password - пароль бота
* также можно получить любое значение из config.ini:
$CONFIG{имя}
(пример: в config.ini: testing == nana,
тогда чтоб получить значение имени testing: $CONFIG{'testing'})

также ви можете использовать готовие функции:
* saveFile(file, text) - сохранить text в файл file
* logIt(file, text) - ввести в лог file текст text
* auth(uin, reason) - авторизация на номер uin с причиной reason
* send_msg(uin, msg) - отправить сообщение msg на номер uin

пример плагина hello_world.pl:
(!helloword msg) - оправляет вам обратно текст msg
Код:

send_msg($_UIN,@_MEST[1]);
на команду: !helloworld testing_my_first_plugin
бот вам ответит: testing_my_first_plugin



вот и все пока..
большая просьба ко всем кто скачал:
отпишите здесь о том что вам понравилось или нет у бота, что бы вы хотели еще увидеть в нем, какие недостатки встретили.. и так далее..)
рад всем ответам!

X-Venom 19.01.2009 22:48

хороший бот, на перле никогда не встречал

heretic1990 19.01.2009 23:13

сам писал или основу брал?

eLWAux 19.01.2009 23:18

Цитата:

Сообщение от heretic1990
сам писал или основу брал?

полностью сам с нуля.

Sharky 19.01.2009 23:20

заслужил +++++ :) не испытывал, но за старания и кроссплатформенность респект

Ил-2 19.01.2009 23:30

Цитата:

* Огромные возможности плагинов
* Возможности плагинов ограничены лишь возможностями языка perl
=>

*У perl'a огромные возможности
#у этого кода нет

eLWAux 19.01.2009 23:36

Цитата:

Сообщение от Ил-2
*У perl'a огромные возможности
#у этого кода нет

я имел в виду, что можна написать любой нужний плагин, с любими нужними функциями

Kaimi 19.01.2009 23:37

Цитата:

=>

*У perl'a огромные возможности
#у этого кода нет
Не надоело везде подобные комментарии писать? Может сам что-нибудь напишешь и выложишь?

heretic1990 19.01.2009 23:40

Цитата:

полностью сам с нуля.
тогда молоток, лови +
P.S. желаю удачи и дальнейшего развития бота!

Ил-2 19.01.2009 23:40

Цитата:

Сообщение от Kaimi
Не надоело везде подобные комментарии писать? Может сам что-нибудь напишешь и выложишь?

тебя ткнули лицом в твой быдлокод и ты до сих пор успокоиться не можешь чтоли?)

upd: а может тебя моя фотокарточка раздражает?
^^


Время: 15:24