Появилась необходимость отслеживать входы в сеть одного контакта... постояяно, каждый вход и выход из сети по времени круглосуточно... В сети есть несколько вариантов, но требуеться постоянный контроль.. Возможно ли написание бота на php?
а почему бы и нет? есть такая функция\фича, как хотите, картинка асику, которая показывает в сети аську или нет, так вот пишем прогу пхп, которая открывает картинку жертвы и после тупо сравнивает с онлайновской, если равны, дальше ясно) елементарно.
PHP: #!/usr/bin/perl ################ # Code by PAA # ################ use LWP::UserAgent; use Mail::Sender; $icq='641093'; $downmins=40; $cur=check($icq); my ($was,$icqtime,$smsstatus)=get($icq); if(($was == 0) && ($cur == 1)) { #SMS ONLINE if($smsstatus == 0) { sms_event('+71111111111@sms.beline.ru',"$icq online"); $smsstatus=1; } set($icq,1,time,$smsstatus); } elsif($cur == 0) { $icqtime = time if($was == 1); if((time - $icqtime > $downmins*60) && ($smsstatus == 1)) { #SMS OFFLINE $downmins MINS sms_event('+71111111111@sms.beline.ru',"$icq offline $downmins mins"); $smsstatus=0; } set($icq,0,$icqtime,$smsstatus); } sub check { my $icq = shift; my $link="http://status.icq.com/online.gif?icq=$icq&img=5"; my $res = LWP::UserAgent->new->request(new HTTP::Request GET => $link); #print $res->request->url."\n"; if($res->request->url =~ /http:\/\/status.icq.com\/5\/online(\d).gif/) { return $1; } } sub get { my $icq = shift; my $file="/tmp/status$icq"; my $icqstatus; my $icqtime; my $smsstatus; if(-e $file && -s $file) { open(F,$file); chomp($icqstatus=<F>); chomp($icqtime=<F>); chomp($smsstatus=<F>); close F; $icqstatus='0' if ($icqstatus ne '1'); $smsstatus='0' if ($smsstatus ne '1'); return ($icqstatus,$icqtime,$smsstatus); } else { return (0,time,0); } } sub set { my $icq = shift; my $icqstatus=shift; my $icqtime=shift; my $smsstatus=shift; $icqstatus='0' if ($icqstatus ne '1'); $smsstatus='0' if ($smsstatus ne '1'); my $file="/tmp/status$icq"; open F,"> $file"; print F "$icqstatus\n$icqtime\n$smsstatus\n"; close F; } sub sms_event { my $to=shift; my $message=shift; $message=~s/\n$//g; my $from = 'icq@mail.sru'; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); $mon++; $year+=1900; my $time=sprintf("%02d:%02d %02d.%02d.%04d",$hour,$min,$mday,$mon,$year); $Mail::Sender::NO_X_MAILER = 1; my $sender = new Mail::Sender {smtp => 'smtp.mail.sru', from => 'icq@mail.sru'}; #$sender->MailMsg({to => $to, msg => "$message\n$time", charset => 'Windows-1251'}); $sender->MailMsg({to => $to, msg => "$message\n$time", charset => 'Windows-1251'}); } Вот тебе на подобе скриптеГ
еще вопрос а смс на на сот то будут приходить ? и как быть если у меня мегафон? и у меня комп не постоянно в сети находится есть что нибудь подобное на php что бы куда либо логировался заход пользователя в какой нибудь текстовый документ если нет возможности отправки на номер мегафона. Буду очень благодарен.
Ну не всем же быть такими умными)) А ведение лога в текстовом варианте было бы даже предпочтительней...
я думаю что не только мне этот скрипт нужен будет но так же и думаю что его надо будет ставить на крон или я неправ