Хорошо
Без скриншотов и не по шагам но если кто не знает как с этим работать всегда можно спросить я объясню.
Спойлер «бот на perl»
Код:
#!/usr/bin/perl
use strict;
require LWP::UserAgent; #Ссылка на библиотеку ниже
my $ua = LWP::UserAgent->new;
$ua->timeout(30); # 30 секунд на ожидания запроса
use Net::OSCAR qw(:standard); #Ссылка на библиотку ниже
my $oscar = Net::OSCAR->new();
$oscar->signon('icq-номер бота', 'icq пароль бота'); #Вставить свои данные
my $is_get = 0;
my $interval = 5; #Интервал между запросами в минутах
my $last_time = 0; my $last_time_s = 0;
sub time_to_sec
{
my $time = $_[0];
my ($h,$m,$s) = split(/:/,$time);
return ($s+(60*$m)+(60*60*$h));
}
while(1)
{
$oscar->do_one_loop();
if(!$is_get)
{
my $response = $ua->get("Ссылка на геймлог"); #Вставить свою ссылку на геймлог, смотреть что вставлять ниже
$is_get = 1;
if ($response->is_success)
{
my $page = $response->content;
my @items;
push(@items,$1)
while $page =~ /<item>(.*?)<\/item>/sig;
my $is_last_date_set = 0;
foreach my $item (reverse(@items))
{
my ($title,$desc,$data) = ($item =~ /<title>(.*?)<\/title><description>(.*?)<\/description><pubDate>(.*?)<\/pubDate>/ig);
$title =~ s/#.*?\s//ig;
$data =~ s/.*?([0-9]+).*?([0-9]{2}:[0-9]{2}:[0-9]{2}).*/$1 $2/ig;
$desc =~ s/<!\[CDATA\[(.*?)\].*/$1/ig;
my ($day,$time) = split(/ /,$data);
if($day == (localtime)[3])
{
my $tsec = time_to_sec($time);
my $lsec = time_to_sec((localtime)[2].':'.(localtime)[1].':'.(localtime)[0]);
if($last_time_s){ $lsec = time_to_sec($last_time_s); }
if($tsec>$lsec)
{
$oscar->send_im('icq-номер получателя', $time.' : '.$desc); #Вставить свои данные
}
}
$last_time = $time;
}
$last_time_s = $last_time;
}
}
else
{
my $td = (time() % ($interval*60));
if($td == 0){ $is_get = 0;}
}
sleep(1);
}
LWP::UserAgent Net::OSCAR
Ваш игровой лог https://www.millidor.com/gamelog/ID игрока на форуме/секретный ключ.xm
посмотреть можно зайдя в ЛК - Игровой лог(ссылка снизу и потом на rss нажать.(Нажать на ссылку игровой лог рядом со значком rss)
Внимание не светите свой игровой лог он доступен без регистрации, поэтому любой кому вы засветите смоет смотреть что у вас происходит.(Если умудрились засветить, поможет смена пароля)
Если кому нужно на php могу написать какие функции похожие нужно использовать или какие библиотеки нужно подключить.
Скрипт работает как демон, запустили и забыли
Если есть вопросы пишите. Установка Perl
Использования бота Пуск -> Выполнить -> cmd -> perl "путь к скрипту" или Путь к perl "Пусть к скрипту" (perl bot.pl (если код из тега мы скопировали в файл с этим названием)) Это для виндовс, линуксоиды думаю сами знают как запустить что то из командной строки.
Что с этим со всем счастьем делать?
1.Устанавливаем перл - инструкция выше
2. Копируем код в какой нибудь файл, который для этого создаем
3. Заменяем данные в там где указано в комментариях в коде на свои, т.е ссылка на лог, номер аськи, номер аськи бота(просто создаем еще один номер и используем его только в скрипте) пароль от этого номера бота, это все что надо вписать
4. Запускаем, радуемся. (Инструкция выше, как запускать соответственно, а не как радоваться Внимание: при запуске в cmd чтобы бот работал cmd не надо закрывать, и я к сожалению не знаю как этого избежать ибо не знаю как запустить скрипт в фоновом режиме в Windows, может кто знает и отпишется)
Принцип работы, скрипт будет получать лог каждые 5 минут, и отправлять все записи что пришли с последнего раза вам в аську(не с последнего обновления скрипта а с последней отправленной записи)
В настоящее время введён в игровой клиент.
Панель сообщений - на экране слева (может быть свёрнута) - "Показать игровой лог".
Кнопки:
1) "Просмотр военных сообщений" (кто где на кого напал, где встретил препятствие)
2) "Пришедшие письма" (и вообще весь функционал по отправке писем в рамках игрового клиента)
3) "Просмотр сообщений Альянса/Империи"
4) "Просмотр дипломатически сообщений" (заключение дружбы, объявление войны)
5) "Просмотр торговых сообщений" (сообщения купли-продажи)
6) "Просмотр сообщений инфраструктуры" (где что поднято, что произведено, что построено)
7) "Просмотр алхимических сообщений" (всё, что касается археологии, алхимии и науки).
а зачем два раза повторяется эта панель? если выбрать любой лог там выскакивает схожая панель, не легче свести в один единый знак и перебросить влево.
http://floomby.ru/s2/8g6xgj
а почту ещё одним значком вывести....
ЗЫ и нужно мне кажется подсветку ввести при приходе сообщений от игроков.
ЗЫЗЫ тут ещё баг есть... вот у меня в инфраструктуре висит что непрочитано 83 сообщения, но где эти сообщения, я все просмотрел но так счётчик и не обнулился
И ещё один момент военный лог сражения хотелось бы чтобы можно было весь бой посмотреть
__________________
Последний раз редактировалось KAPABAH; 03.01.2017 в 19:35.
ЗЫЗЫ тут ещё баг есть... вот у меня в инфраструктуре висит что непрочитано 83 сообщения, но где эти сообщения хз, я все просмотрел но так счётчик и не обнулился