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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   поиск Perl+icq_bot (https://forum.antichat.xyz/showthread.php?t=84286)

KENNY_McCORMICK 10.09.2008 13:47

поиск Perl+icq_bot
 
Исчу icq bot'a на perl'е или python
поделитесь люди добрые)
с меня +

Gifts 10.09.2008 14:24

Например тут http://search.cpan.org/dist/Net-OSCAR/lib/Net/OSCAR.pm

biophreak 10.09.2008 14:35

Выкладывал тут с примитивными ф-иями, бот юзает все тот же Net::OSCAR, простейшего бота на нем написать,который будет отвечать "Привет" на любое сообщение - 10 строчек максимум)
Так же делал ICQ2IRC гейт на базе него-же( http://icq2irc.googlecode.com )
Вот пример бота
Код:

#!/usr/bin/perl -s
use strict;
use warnings;
use diagnostics;
use Net::OSCAR;
my $uin = 123456;
my $passwd = 'qwerty';
my $adminuin = 654321; ## Your UIN
my $icq = Net::OSCAR->new;
$icq->set_callback_im_in(\&in) or die '[ERROR] [Cannot set callback] [$!]';
$icq->signon($uin, $passwd) or die '[ERROR] [Cannot sign on] [$!]';
$icq->do_one_loop while (not $icq->is_on);
$icq->do_one_loop while ($icq->is_on);
sub in {
        my($oscar, $sender, $message, $is_away) = @_;
        print "$sender: $message\n";
        $oscar->signoff() if ($message eq '!quit'  and $sender eq $adminuin);
        $oscar->send_im($sender,`uptime`) if ($message eq '!uptime' and $sender eq $adminuin);

}


KENNY_McCORMICK 10.09.2008 15:48

>>biophreak

http://img222.imageshack.us/img222/4...rroraj7.th.jpg

see up....
ето типо он OSCAR подключить на может?
шо делатЬ?))

Gifts 10.09.2008 15:54

KENNY_McCORMICK ты модуль то подключи

KENNY_McCORMICK 10.09.2008 15:56

Цитата:

Сообщение от Gifts
KENNY_McCORMICK ты модуль то подключи

ppm install Net-OSCAR так?

KENNY_McCORMICK 10.09.2008 16:13

теперь говорит:
http://img218.imageshack.us/img218/5...ror2ss1.th.jpg

biophreak 10.09.2008 17:31

perl -V покажи
А вообще что-то с прототипами,видимо когда сокет создается...неблокирующийс создать не может =\
Под виндой даже не тестил оскар)

n3m0 10.09.2008 19:07

Цитата:

'[ERROR] [Cannot set callback] [$!]'
тут наверно требуются не одинарные кавычки , а двойные , т.к. не будет интерполяции и спец. символ $! не чего интересного не скажет.

biophreak 10.09.2008 23:47

Да,ты прав,спс,за 2 минуты писал)))

KENNY_McCORMICK 12.09.2008 09:56

Код:

#!/usr/bin/perl -s
use strict;
use warnings;
use diagnostics;
use Net::OSCAR;
my $uin = тут_юин;
my $passwd = 'пасс_к_нему';
my $adminuin = мой_юин;
my $icq = Net::OSCAR->new;
$icq->set_callback_im_in(\&in) or die "[ERROR] [Cannot set callback] [$!]";
$icq->signon($uin, $passwd) or die "[ERROR] [Cannot sign on] [$!]";
$icq->do_one_loop while (not $icq->is_on);
$icq->do_one_loop while ($icq->is_on);
sub in {
        my($oscar, $sender, $message, $is_away) = @_;
        print "$sender: $message\n";
        $oscar->signoff() if ($message eq '!quit'  and $sender eq $adminuin);
        $oscar->send_im($sender,`uptime`) if ($message eq '!uptime' and $sender eq $adminuin);

}

исправил ' -> "
так же пишет:
http://img218.imageshack.us/img218/5...ror2ss1.th.jpg

Подпись ошибки Perl Command Line Interpreter
Код:

AppName: perl.exe        AppVer: 5.10.0.1003        ModName: msvcrt.dll
ModVer: 7.0.2600.2180        Offset: 0003709c

чё за ххх? моск пухнет уже)

KENNY_McCORMICK 12.09.2008 09:58

Цитата:

Сообщение от biophreak
perl -V покажи
А вообще что-то с прототипами,видимо когда сокет создается...неблокирующийс создать не может =\
Под виндой даже не тестил оскар)

perl -V here
Код:

C:\Documents and Settings\Admin>perl -V
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
  Platform:
    osname=MSWin32, osvers=5.00, archname=MSWin32-x86-multi-thread
    uname=''
    config_args='undef'
    hint=recommended, useposix=true, d_sigaction=undef
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYP
T -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLI
CIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -
mms-bitfields',
    optimize='-O2',
    cppflags='-DWIN32'
    ccversion='', gccversion='3.4.5 (mingw-vista special r3)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksi
ze=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='g++', ldflags ='-L"C:\Perl\lib\CORE"'
    libpth=\lib
    libs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32
-lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -
lodbccp32 -lmsvcrt
    perllibs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshel
l32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc
32 -lodbccp32 -lmsvcrt
    libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl510.lib
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-mdll -L"C:\Perl\lib\CORE"'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
                        PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
                        PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS
                        USE_LARGE_FILES USE_PERLIO USE_SITECUSTOMIZE
  Locally applied patches:
        ActivePerl Build 1003 [285500]
        33741 avoids segfaults invoking S_raise_signal() (on Linux)
        33763 Win32 process ids can have more than 16 bits
        32809 Load 'loadable object' with non-default file extension
        32728 64-bit fix for Time::Local
  Built under MSWin32
  Compiled at May 13 2008 16:52:49
  @INC:
    C:/Perl/site/lib
    C:/Perl/lib
    .


biophreak 12.09.2008 13:38

Хм...виста чтоль?:)
PS: perl -MNet::OSCAR -le'print $Net::OSCAR::VERSION,$Net::OSCAR::REVISION' покажи
PPS: Да и попробуй модуль не из ppm ставить, а с CPAN'а

KENNY_McCORMICK 12.09.2008 14:07

с одной ковычкой
Код:

C:\Documents and Settings\Admin>perl -MNet::OSCAR -le 'print $Net::OSCAR::VERSIO
N,$Net::OSCAR::REVISION'
Prototype mismatch: sub Net::OSCAR::Connection::F_GETFL () vs none at (eval 5) l
ine 1.
Prototype mismatch: sub Net::OSCAR::Connection::F_SETFL () vs none at (eval 6) l
ine 1.
Prototype mismatch: sub Net::OSCAR::Connection::O_NONBLOCK () vs none at (eval 7
) line 1.
Can't find string terminator "'" anywhere before EOF at -e line 1.

с двумя
Код:

C:\Documents and Settings\Admin>perl -MNet::OSCAR -le "print $Net::OSCAR::VERSIO
N,$Net::OSCAR::REVISION"
Prototype mismatch: sub Net::OSCAR::Connection::F_GETFL () vs none at (eval 5) l
ine 1.
Prototype mismatch: sub Net::OSCAR::Connection::F_SETFL () vs none at (eval 6) l
ine 1.
Prototype mismatch: sub Net::OSCAR::Connection::O_NONBLOCK () vs none at (eval 7
) line 1.
1.925$Revision: 1.221 $

Код:

C:\Documents and Settings\Admin>ver
Microsoft Windows XP [Версия 5.1.2600]
C:\Documents and Settings\Admin>

З.Ы а как из CPAN'а ставить?

KENNY_McCORMICK 16.09.2008 11:04

up

biophreak 16.09.2008 11:13

Хм...как из цпана ставить
http://snipplr.com/view/3718/how-to-start-cpan-on-windowsactiveperl/
Если вкратце,то perl -MCPAN -e'install Module::Name' или же perl -MCPAN -eshell и там уже install Module::Name

ЗЫЖ А бот, что я запостил тут - рабочий, проверял, так что ищи косяки в винде, вроде как в офдоке к Net::OSCAR не заявлена полная поддержка Win32.Так что делайте выводы;)


Время: 07:24