The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Тематический каталог: Использование micq для создания ICQ бо..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Тематический каталог: Использование micq для создания ICQ бо..."  +/
Сообщение от auto_topic on 24-Мрт-05, 14:49 
Обсуждение статьи тематического каталога: Использование micq для создания ICQ ботов (icq fifo perl)

Ссылка на текст статьи: https://www.opennet.ru/base/dev/micq_bot.txt.html

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от Saint_Byte on 24-Мрт-05, 14:49 
Какая версия ??? У меня с последнией нечего не получается =(
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Использование micq для создания ICQ ботов (icq fifo perl)"  +1 +/
Сообщение от Denis (??) on 06-Окт-05, 21:02 
опечатался автор
в строке где tail -f /dev/null а надо так : tail -f /micq.pipe
тогда будет работать
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от Basil email(??) on 25-Ноя-05, 10:05 
Нет, не будет:
1. Труба /micq.pipe вообще не существует (опечатка у вас)
2. /tmp/micq.pipe существует, но предназначена для получения вывода программы, а не ввода команд (для ввода используется BASEDIR/remote-control, как правильно указал автор)
3. tail -f здесь служит для того, чтобы отстегнутая от ввода micq не уходила в спячку. Правда я не уверен, что правильно так обращаться с /dev/null, но думаю автор в этом разобрался лучше.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

2. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от chip email(??) on 26-Мрт-05, 21:16 
ИМХО, вся эта конструкция слишком хлюпкая. У pipe __всегда__ должен быть читатель и писатель! Со всеми вытекающими...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от GuGu email on 23-Янв-06, 11:41 
Мне кажется, тут лучше было бы использовать expect
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от Ruslan (??) on 30-Сен-06, 01:27 
Я запускаю вот так...
echo set color off >a && tail -f a |micq >>b
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от obl (ok) on 13-Окт-06, 18:50 
чтото не работает данная конструкция
может что новое придумал в мАське :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от obl (ok) on 17-Окт-06, 14:08 
>чтото не работает данная конструкция
>может что новое придумал в мАське :)
у меня вот такая конструкция

вот стартовый скрипт:

#!/usr/local/bin/bash
echo -n ' mICQ '

case "$1" in
start)
        echo "" > /home/.micq/in
        echo "" > /home/.micq/out
        tail -f /home/.micq/in | micq --passwd 1Qx5sdcd --basedir /home/.micq -C "msg DarthCasper System UP"> /home/.micq/out &
        sleep 3 && cat /home/.micq/out && echo &
        sleep 10 && printf "msg DarthCasper Bot System UP\n" >> /home/.micq/in && printf "msg Taver Bot System UP\n" >> /home/.micq/in &
        echo
        ;;
stop)
        printf " msg DarthCasper System Shutdown\n" >> /usr/home/.micq/in
        sleep 1

        printf " exit\n" >> /usr/home/.micq/in
        sleep 2 && tail /home/.micq/out &
        echo
        ;;
*)
        echo "Usage: `basename $0` {start|stop}" >&2
        exit 64
        ;;
esac

exit 0

ето домашняя дирректория /home/.micq/
/home/.micq/out - от сюда читаем если хоцца
/home/.micq/in - сюда пишем если хоцца :)

писать только надо через добавление в конец - тоесть ">>"
вот и все грабли :)
вот права на файло
-rwsr-sr-t  1 nagios  nagios  497444  5 окт 14:00 /usr/local/bin/micq

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от Timka (??) on 03-Ноя-06, 13:55 
что-то последнюю неделю не работает micq :( это у всех так или только у меня?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от sib on 03-Ноя-06, 22:55 
Только поставил micq, вроде все верно, но выдает
Connection v8 timed out.
И ни принять, не отправить...
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от Timka (??) on 08-Ноя-06, 22:37 
вышла micq 0.5.2, в ней все пофикшено.
ура.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от etz email(??) on 28-Фев-07, 06:16 
Кто-нибудь сталкивался с ограничением сервака на интенсивность посылки мессаг? сервер начинает орать "You're sending data too fast - stop typing now, or the server will disconnect!"
Как это можно обойти средствами micq'а ? никаких настроек очереди сообщений у него не нашёл..
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от Александр email(??) on 28-Июн-07, 12:22 
А чем вариант `micq ... < /dev/null` плох?
Зачем делать tail -f /dev/null | micq ...?
Один процесс таки лучше чем 2.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Тематический каталог: Использование micq для создания ICQ бо..."  +/
Сообщение от ForeverYoung email on 02-Июл-07, 16:15 
я лично сделал так:
foreveryoung ~ # cat ~icqbot/script
#!/usr/bin/perl
$_ = 1;
exit if( $#ARGV < 0 );
use File::Tail;
$name = "/home/icqbot/.micq/history/${ARGV[0]}.log";
my $ref=tie *FH,"File::Tail",(name=>$name, maxinterval=>1, interval=>1);
open LOG, ">${ARGV[0]}_bot.log";
$skip = 0;
$cmd = 0;
while( <FH> )
{
    if( $skip > 0 )
    {
        $skip--;
        next;
    }
    if( $_ =~ /# \d+\/ \[[^]]+\]\S+ -> [^[]*\[[^]]+\] [+](\d+)/ )
    {
        $skip = $1;
        $cmd = 0;
        next;
    }
    if( $_ =~ /# \d+\/ \[[^]]+\]\S+ <- [^[]*\[[^]]+\] [+](\d+)/ )
    {
        $cmd = 1;
        next;
    }
    if( !$cmd )
    {
        next;
    }
    if( $_ =~ /^ping (.+)$/ )
    {
        print LOG "Pinging $1\n";
        $ping = `ping -c 10 $1 2>&1`;
        open OUT, ">.micq/scripting";
        print OUT "/msg ${ARGV[0]}\n";
        print OUT $ping;
        print OUT ".\n";
        close OUT;
        next;
    }
}

а micq убирается в фон с помощью screen:
# screen -AmdS icq micq

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от Slimy Cat email(ok) on 05-Фев-08, 21:18 
А как быть, если надо "оторвать" бота от сеанса (у меня не micq, а climm)?
Я пробовал такое:
  nohup /usr/local/bin/climm 2>&1 > /dev/null &
Работает, но состояние процесса RUN и ПОЛНАЯ загрузка процессора... idle = 0.00%
Хотя если загнать его просто в бэкграунд в текущем сеансе, все нормально, статус select, WCPU ~ 0.5%

virtual:~# top -n
19 processes:  2 running, 17 sleeping
  PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
7709 root        1 132    0  3856K  2252K RUN      1:14 92.25% climm
  753 root        1  96    0  1400K   832K select   0:22  0.00% syslogd

Подозреваю, что "оторванный" от stdin процесс начинает опрашивать либо несуществующий stdin, либо пайп, чем и грузит проц.
Кто что посоветует?
Screen не предлагать, т.к. его в *.tbz нет, а компилятор отсутствует по определению (так надо).

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от GoodOkk email on 25-Ноя-09, 17:38 
У меня подобная проблема. Как заставить climm не вылетать, после того, как вылогиниваешься из консоли? даже со screen не могу разобраться как сделать, аська не запускается, если перенаправлять вывод в пайп, а если не перенаправлять, то все нормально, но, тогда смысл бота теряется :(
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

21. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от Alexey (??) on 25-Ноя-09, 19:33 
>У меня подобная проблема. Как заставить climm не вылетать, после того, как
>вылогиниваешься из консоли? даже со screen не могу разобраться как сделать,
>аська не запускается, если перенаправлять вывод в пайп, а если не
>перенаправлять, то все нормально, но, тогда смысл бота теряется :(

Я запускаю из скрипта запуска - /usr/local/bin/screen -d -m /usr/local/bin/climm
Чтобы не вылетал - нужно 1. Запустить screen 2. Запустить в нем climm 3. "Оторвать" screen от консоли (detach) 4. Можно выходить из консоли по exit
Читайте мануал по командным клавишам screen и параметрам запуска.
Может быть, как-нибудь соберусь и напишу-таки небольшое руководство по установке и настройке icq-бота под управлением climm.
PS НЕ РЕКЛАМА! Если таковое будет написано (+- около НГ), читать по адресу http://slimy-cat.blogspot.com/


Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

18. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от Дмитрий email(??) on 15-Июл-09, 00:26 
Есть вопросы... что то я не въехал.
MICQ работает нормальною, PIPE посмотрел командой tail

Вопрос такой насущный....

Как прочитать полученное например PHP скриптом?
и как отправить ответ в MICQ этим скриптом?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Использование micq для создания ICQ ботов (icq fifo perl)"  +/
Сообщение от Alexey (??) on 21-Июл-09, 12:12 
>Есть вопросы... что то я не въехал.
>MICQ работает нормальною, PIPE посмотрел командой tail
>
>Вопрос такой насущный....
>
>Как прочитать полученное например PHP скриптом?
>и как отправить ответ в MICQ этим скриптом?

Смогу ответить кратко, пока что я занят и не имею возможности расписать подробно.
Я не использовал tail, я импользовал каналы (pipes).
Обработчик событий прописывается в конфиге climm (можно прописать исполняемый скрипт, PHP-скрипт и тд.)
Данные берутся и отправляются в каналы (вместо экрана).
По предыдущему вопросу - решилось, screen нашел в пакадже, все работает отлично.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру