С 22 июня 2005 года работает у нас в службе техподдержки ICQ бот под
ником Asterisk (UIN не скажу Smile ) LOL .Занимается он тем, что по
ICQ отправляет техподдержке номер телефона звонящего, дату и время.
Итак.
Имеем настроеный рабочий Asterisk на сервере.
Заходим на сайт http://www.micq.org/download.shtml.en и скачиваем
последнюю версию mICQ
(на данный момент это mICQ 0.5.0.4 (released 2005-06-05)). То
есть:
[roman@pbx1 log]$ cd ~
[roman@pbx1 ~]$ wget http://www.micq.org/source/micq-0.5.0.4.tgz
---bla-bla-bla---
[roman@pbx1 ~]$ tar -zxvf micq-0.5.0.4.tgz
---bla-bla-bla---
[roman@pbx1 ~]$ cd micq-0.5.0.4
[roman@pbx1 micq-0.5.0.4]$ ./configure --help #Читаем help если надо...
[roman@pbx1 micq-0.5.0.4]$ ./configure
---bla-bla-bla---
[roman@pbx1 micq-0.5.0.4]$ make
---bla-bla-bla---
[roman@pbx1 micq-0.5.0.4]$ su -
Password:
[root@pbx1 ~]# cd /home/roman/micq-0.5.0.4
[root@pbx1 micq-0.5.0.4]# make install
[root@pbx1 micq-0.5.0.4]# exit
[roman@pbx1 micq-0.5.0.4]$ micq
При запросе UIN смело набираем '0' (просто ноль, кто не понял Smile )
и жмем Enter. Далее придумываем архисложный пароль, вводим, Enter,
вводим его еще раз, Enter, дальше если вы работаете через прокси LOL ,
вводите его параметры, иначе, как все нормальные люди, смело жмете
Enter.
Получаем UIN, регистрируемся на сервере.
Если хотите, в консоли mICQ есть команда 'help', а есть еще 'help ',
то есть что-то вроде 'help msg' даст вам справку по отправке
сообщений.
Комманда 'msg 227702532 Hello Anest!!! How are you today guy?' спросит
'Как дела?' у нашего любимого Anest'а, а 'msg 320598502 Privet
rebyata! Pochemu na zvonki ne otvechaete?' спросит у нашей
техподдержки, что это она так расслабилась LOL .
В консоли mICQ дайте комманду
mICQ> autoaway 0
Changing status to away/not available after idling 0 seconds.
mICQ> save
Saving preferences to /home/roman/.micq/micqrc.
Your personal settings have been saved!
Это не даст вашему боту эпизодически пропадать в offline.
Поиграли, выходим из mICQ командой 'exit'.
Далее:
[roman@pbx1 micq-0.5.0.4]# nano ~/.micq/micqrc
или другим вашим любимым редактором vi, pico, или просто по F4 в 'mc'
на этом файле, меняем ' # password' на 'password <тут ваш пароль>'.
Продолжаем:
[roman@pbx1 micq-0.5.0.4]# screen -d -m micq
# Кто не пользуется и не знает, команда 'screen' создает нечто вроде
виртуального терминала, от которого можно безболезненно отключаться,
при этом программа, что запущена в нем, остается там работать в режиме
S+, либо Ss+.
Почитайте 'man screen' и Краткое руководство по работе в SCREEN на
www.opennet.ru.
Бот падает в оффлайн, если превышен некоторый лимит количества
сообщений за единицу времени.
Слава Богу, обычно он сам поднимается после этого.
Дополнение от 20.07.2005г.
Дополнение к дополнению от 19.07.2005 :)
Можно с некоторой периодичностью, например используя cron, скриптом
давать боту комманду login.
Дополнение от 16.03.2006г.
Версия mICQ 0.5.0.4 с русским работала некорректно. Уже следующая
работала отлично. На настоящий момент используйте версию 0.5.1.
http://www.micq.org/source/micq-0.5.1.tgz
Если процесс micq умирает по какой-то причине (например кто-то сделал
killall SCREEN), то в системе появляются подвисшие процессы 'echo',
звонок не завершается нормальным образом.
Хак:
#!/bin/bash
for pid in $(ps aux | grep "micq" | grep "scripting" | grep -v grep |
awk '{print $2}'); do
echo "Killing micq with PID $pid:"
kill -9 $pid
done
exit
для версии 1.4 и выше теперь надо так: (в одну строку!)