Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Perl + ICQ, отправка сообщений в аську 
V
    Опции темы
fantome
Дата 13.6.2007, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2007

Репутация: 1
Всего: 1



Народ, помогите с траблой...
надо написать скрипт, который после своей работы отправит хозяину(то бишь мне) сообщение на аську...
Доки читал... Там нету про этого нифика.... Использую Net::OSCAR...
Код

#!/usr/bin/perl -w

use Net::OSCAR;

my $oscar;

$oscar = Net::OSCAR->new();
$oscar->set_callback_im_in(\&message_callback);
$oscar->signon( 666666, "icqbotmy" ) or  die("Авторизация не удалась!\n");

my $quit = 0;
while(!$quit)
{ $oscar->do_one_loop();
}

sub message_callback
{$oscar->send_im(555555, "all o\'key");
  return 1;
}

$oscar->signoff();
exit 0;
END;


тока вот проблема возникла в том, что сообщение не отправляется пока боту не скинешь сообщение...
как это порешить???
PM MAIL   Вверх
shamber
Дата 13.6.2007, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



скинуть боту сообщение smile
PM MAIL Jabber   Вверх
fantome
Дата 13.6.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2007

Репутация: 1
Всего: 1



shamber
ГЫ....

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

на сервер постоянно лазить тож не хочетсо.... Вот и захотел, чтоб бот в аську кидал...

Никто так и не может помочь советом???
PM MAIL   Вверх
Ramirez
Дата 13.6.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 18.1.2005
Где: Moscow, ExUSSR

Репутация: 4
Всего: 5



в цикле проверять то что тебе надо и вызывать:


Код

$oscar->send_im(555555, "all o\'key");


Это сообщение отредактировал(а) Ramirez - 13.6.2007, 13:34
PM ICQ   Вверх
shamber
Дата 13.6.2007, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



fantome,  собственно а ты чего хотел. 
Сам смотри:
Код

sub message_callback
{$oscar->send_im(555555, "all o\'key");
  return 1;
}

Эта функция вызывается, когда? smile
Как не странно только тогда, когда ты посылаешь сообщение боту.
попробуй просто 
Код

#!/usr/bin/perl -w

use Net::OSCAR;

my $oscar;

$oscar = Net::OSCAR->new();
$oscar->set_callback_im_in(\&message_callback);
$oscar->signon( 666666, "icqbotmy" ) or  die("Авторизация не удалась!\n");
sleep 2;
$oscar->send_im(555555, "all o\'key");

$oscar->signoff();


P.S. у себя провериь не могу так как пишет:

Couldn't set Win32 blocking: Unknown error

так что вот 
пробуй

Это сообщение отредактировал(а) shamber - 13.6.2007, 13:40
PM MAIL Jabber   Вверх
fantome
Дата 13.6.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2007

Репутация: 1
Всего: 1



Ramirez
Цитата

в цикле проверять то что тебе надо и вызывать


так вот в цикле, по описанию из док, должно быть только 
Код
$oscar->do_one_loop();


при получении ботом сообщения от клиента вызывается ф-ция message_callback
Вставление её в цикл ни к чему не приводит...
точнее если вставить только её одну - то нифига, бот даже в онлайне не светиться...
а если вместе с do_one_loop()   - то на аську сваливается сразу порядка 10 сообщений одинаковых(копий)...
А хотелось бы чтоб каждое сообщение только один раз приходило... без копий...
PM MAIL   Вверх
nitr
Дата 13.6.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



fantome, там в комплекте с этим модулем (Net::OSCAR) очень хорошие примеры, посмотрите внимательно, ваш вопрос там затронут...


--------------------
PM   Вверх
fantome
Дата 13.6.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2007

Репутация: 1
Всего: 1



shamber

так не срабатывает... уже проверял... без 
Код
$oscar->do_one_loop();

бот даже в онлайн не вылазит... без этой гребанной функции даже коннект не проходит...
PM MAIL   Вверх
fantome
Дата 13.6.2007, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2007

Репутация: 1
Всего: 1



nitr
Цитата
там в комплекте с этим модулем (Net::OSCAR) очень хорошие примеры, посмотрите внимательно, ваш вопрос там затронут...


Если не сложно, скиньте код примера - я чё т эти примеры найти не могу... ну под линем, ни в мелкой... 
PM MAIL   Вверх
KSURi
Дата 13.6.2007, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



Код

use Net::vICQ



--------------------
Died at Life.pl line 21
PM Jabber   Вверх
shamber
Дата 13.6.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



KSURi, он кажется все-таки с Net::OSCAR хочет работать smile
PM MAIL Jabber   Вверх
fantome
Дата 13.6.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2007

Репутация: 1
Всего: 1



shamber

насколько я в курсе, сейчас с аськой нормально только Net::OSCAR из перл работает...
Читал про варианты с клиентом аськи из перла через пайп... но это не подходит...

Люди... хоть ссылки на нормальный хелп дайте.... весь инет уже перерыл... 
PM MAIL   Вверх
KSURi
Дата 13.6.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



Net::vICQ тоже работает, там реализована 7ая версия протокола, которая пока еще в силе.
В целом, этот модуль на мой взгляд лучше, чем Net::OSCAR


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
fantome
Дата 13.6.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 5.2.2007

Репутация: 1
Всего: 1



KSURi, да мож он и лучше... не спорю... тока он пока не стандартный... в CPAN его нет...

PM MAIL   Вверх
nitr
Дата 13.6.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



KSURi, после изменений (в протоколе) тот модуль работает нестабильно, или вообще не работает.


--------------------
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0646 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.