Автоответчик ВКонтакте на Perl

20 Окт
2011

Здравствуй, Блог! Я хочу предоставить автоответчик для соц-сети «ВКонтакте». Написан он на perl.
Для начала скачиваем perl www.perl.org/get.html
Выбираем вашу систему.
Извиняюсь сразу, у меня linux. Для windows не знаю как, разберетесь.
Далее, устанавливаем. Потом создаем файл script.pl Помещаем туда наш код:
В поле id бота вводим свой id.
#!/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;
}

}

}
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх