Помогите найти ошибку в скрипте. Скрипт бот для контакта взято с хабра
http://habrahabr.ru/sandbox/36671/ Авторизация работает а отправка сообщений нет(
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Cookies;
use Text::Iconv;
$mail = ''; # Мыло
$pass = ''; # Пасс
$bot_id = ''; # id бота
$title = "Re%3A++...+"; # Заголовок сообщения
$browser = LWP::UserAgent->new();
$browser->agent('Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1');
$cookie = HTTP::Cookies->new();
$browser->cookie_jar($cookie);
$win2utf = Text::Iconv->new('windows-1251','utf-8');
$utf2win = Text::Iconv->new('utf-8','windows-1251');
$auth = $browser->get("http://login.vk.com/?act=login&email=$mail&pass=$pass&from_host=vk.com")->as_string;
die('Ошибка авторизации') if $auth =~ /reg/;
sub parse{
$check = $browser->get("http://vk.com/mail")->as_string;
if($check =~ /ass="mail_body">(.*)<\/a/)
{
$msg = $win2utf->convert("$1");
}
$inbox = $browser->get("http://m.vk.com/inbox")->as_string;
if($inbox =~ //)
{
$last = "http://m.vk.com/letter$1?";
}
$check = $browser->get("$last")->as_string;
if($check =~ /name="chas" value="(.*)"/)
{
$chas = $1;
}
if($check =~ //)
{
$id = $1;
}
}
sub command{
if((index($msg, "habr")) != -1)
{
$otvet = "Люблю этот сайт.";
}
if((index($msg, "Привет")) != -1)
{
$otvet = "Здравствуй :)";
}
if((index($msg, "Как дела?")) != -1)
{
$otvet = "Нормально";
}
if((index($msg, "Скажи погоду")) != -1)
{
$otvet = "Не ленись, посмотри в окно :)";
}
}
sub otvet{
$send = $browser->post("http://m.vk.com/mailsent?pda=1", Content => "to_id=$id&to_reply=$last&title=$title&chas=$chas&message=$otvet")->as_string;
}
while()
{
parse;
if((index($id, $bot_id)) == -1)
{
command;
if($otvet)
{
otvet;
print "Ответ отправлен\n";
undef $otvet;
}
}
}
Примечание:
President of four ALSZ, это не мой скрипт. Я не знаю perl, но меня заинтересовало, спасибо за совет. Но все же может кто то найдет в чем дело? Буду благодарен.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.