Документация по ОС FreeBSD
Суббота, 29.11.2025, 06:33
Главная
Регистрация
Вход
Приветствую Вас
Гость
|
RSS
Меню сайта
Главная страница
Новости в мире Unix
NEW
Каталог файлов
NEW
Установка и настройка
Ports & Packages
cvs
Безопасность
Работа с железом
X Window
Multimedia
Man pages
Net
Apache
DNS
FTP
Mail
Samba
Squid
SSH
VPN
РРР
Shell
IPFW
Tips'n'tricks
RFC
Книги по FreeBSD
Темы экзамена BSDA
Гостевая книга
Форум на bsdportal.ru
Каталог сайтов
Самый свежий софт
Каталог ссылок
Категории каталога
Apache
[58]
DNS
[25]
FTP
[27]
Mail
[74]
Samba
[24]
Squid
[46]
SSH
[23]
VPN
[35]
РРР
[20]
Net
[173]
Главная
»
Статьи
»
Сеть
»
Net
Использование micq для создания ICQ ботов
Давно была идея сделать icq bot'a, и требовалось от него реагировать на определенные команды + оповещение.
Можно написать своего icq bot'a используя библиотеки работы с icq, благо х можно свободно
скачать из интернета. Мой выбор пал на консольного cq клиента micq (http://www.micq.org).
Конфигурация самой программы micq не сложна, программа попросит весть же существующие uin/pass, либо зарегистрировать новые.
Теперь основное, выбрал я micq потому что у неё есть так называемый emote-control - это обычный pipe, который позволяет общаться с рограммой, запустив её например в background.
Запустите программу (если вы не укажите параметр -b BASEDIR, то программа будет хранить все свои файлы у вас в ~/.micq/), в pipe нужно писать теже команды, которые вы бы писали в самой micq, например.
echo "msg UIN hello, kotiki rulez tommorow" > BASEDIR/remote-control
-
эта
комманда
пошлёт
UIN'
у
сообщение
"hello, kotiki rulez tommorow",
или
:
echo "finger UIN" > BASEDIR/remote-control
-
выдаст
в
micq
информацию
о
UIN'e
т.е. хотя бы на базе этого можно уже написать скрипты, который будут оповещать вас о чем то.
Теперь, нужно чтобы бот реагировал на определенные команды и отсылал результат этих команд.
Нужно придумать механизм общения самой icq, с каким то вашем внешнем обработчиком, ничего лучше чем pipe придумать нельзя :).
создаем pipe: mkfifo /tmp/micq.pipe и говорим чтобы micq весь свой вывод перенаправляла в него:
/home/spanka/micq -b /var/tmp/icq > /tmp/micq.pipe
чтобы проверить, что все работает как надо, запустите
tail -f /tmp/micq.pipe
и вы должны увидеть, вывод программы micq.
Теперь вам осталось написать программу которая читает пайп и парсит вывод micq.
Для примера вот заготовка :))
#!/usr/bin/perl
open(FIFO, "<$ARGS[0]") || die "Can't open file: $ARGS[0]";
while (
) {
тут_вы_уже_сами_парсите.
}
close(FIFO);
ну и последние, чтобы запустить micq в background я пользую довольно корявый способ, если найдете лучше, буду только рад :)
/usr/local/bin/icq_parsers.pl /tmp/icq.pipe >/dev/null 2>&1
#parser
tail -f /dev/null | /home/spanka/micq -b /var/tm/icq > /tmp/icq.pipe 2>&1 &
#micq
Автор:
spanka
Категория:
Net
| Добавил:
oleg
(11.11.2007)
Просмотров:
1078
| Рейтинг:
0.0
/
0
|
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Всего комментариев:
0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]
Форма входа
Друзья сайта
Google+
Copyright MyCorp © 2025