[Скрипт] SteelBot

Статус
В этой теме нельзя размещать новые ответы.

Sudba

Гуру форума
Регистрация
6 Дек 2007
Сообщения
930
Реакции
50
Всем привет. Представлдяю Вам icq бота SteelBot v2.0
Ссылка на скачку Для просмотра ссылки Войди или Зарегистрируйся
кому надо могу сделать зеркала.
У меня есть просьба ни кто не может сделать плагин для этого бота, плагин должен брать информацию например с Яндекса.Афиша. Человек посылает команду: клуб Б2 и ему отсылается инфа о сегоднешних мерориятих в клубе. Тоже самое и с кинотеатрами, например кинотеатр Москва-Солярис и все фильмы и сеансы на сегодня в этом кинотеатре.
Вот пример плагина, который показывает или орел или решку:
<?php

function moneta()
{
$m=rand(1,1001);
$b=fmod($m,2);
if ($b==1)
{
SteelBot::Msg("Орел");
}
else
{
SteelBot::Msg("Решка");
}
}
SteelBot::RegisterCmd("монета","moneta", 1,"монета - бросить монету");

?>
Это так для того чтобы понять как делать.:D
 
Попробую разобраться с этим ботом.
 
Если кому-то интересно могу выложить ботов которые работают
 
Плагин получения цитат с баша:
<?php

/**
* bashorg - плагин для SteelBot
*
* Для просмотра ссылки Войди или Зарегистрируйся
*
* @author N3x^0r
* @version 1.1
*
* 2008-08-14
*
*/

class bashorg {

static $regexp = '~<div class="q">[\s|\S]*?<a\shref="\/quote\/(\d{1,9})[\s|\S]*?<\/div>\s{0,}<div>([\s|\S]*?)<\/div>~',
$buffer = array(),
$last = array(),

$last_refresh_delay = 3600;

static function SendQuote($param) {
if (empty($param)) {
$quote = array_pop(self::$buffer);
SteelBot::Msg('#'.$quote[0]."\n".$quote[1]);
if ( count(self::$buffer) < 1 ) {
self::RefreshDB();
}
} else {
if ($param[0] == '-') {
$param = (int)substr($param, 1);
if ( ($param < 1) || ($param > count(self::$last))) {
SteelBot::Msg("Можно читать только последние ".count(self::$last)." цитат");
} else {
SteelBot::Msg( '#'.self::$last[$param1][0].
"\n".self::$last[$param1][1] );
}

}
}
}

static function RefreshLast() {
$result = '';
if ($sock = fsockopen("bash.org.ru", 80) ) {
fputs ($sock, "GET Для просмотра ссылки Войди или Зарегистрируйся HTTP/1.0\n");
fputs ($sock, "Connection: Keep-Alive\n".
"User-Agent: SteelBot/1.0 (http://steelbot.net)\n".
"Host: bash.org.ru\n".
"Pragma: no-cache\n".
"Cache-Control: no-cache\n".
"Connection: close\n\n" );

while ( !feof($sock) ) {
$result .= fgets($sock, 1024);
}
preg_match_all(self::$regexp, $result, $matches);

foreach($matches[2] as $k=>$quot) {
$quot = html_entity_decode($quot);
$quot= str_replace( array("<br>", "<br />"), "\n", $quot);
self::$last[] = array(
$matches[1][$k],
iconv('WINDOWS-1251', 'UTF-8', $quot)
);
}
fclose($sock);
echo "[bashorg] last quotes buffer refreshed (".count(self::$buffer)." quotes added).\n";
} else {
echo "[bashorg] ERROR: can't establish connection to bash.org.ru\n";
}
SteelBot::TimerAdd(self::$last_refresh_delay, array('bashorg', 'RefreshLast'));
}

static function RefreshDB() {
$result = '';
if ($sock = fsockopen("bash.org.ru", 80) ) {
fputs ($sock, "GET Для просмотра ссылки Войди или Зарегистрируйся HTTP/1.0\n");
fputs ($sock, "Connection: Keep-Alive\n".
"User-Agent: SteelBot/1.0 (http://steelbot.net)\n".
"Host: bash.org.ru\n".
"Pragma: no-cache\n".
"Cache-Control: no-cache\n".
"Connection: close\n\n" );

while ( !feof($sock) ) {
$result .= fgets($sock, 1024);
}
preg_match_all(self::$regexp, $result, $matches);

foreach($matches[2] as $k=>$quot) {
$quot = html_entity_decode($quot);
$quot= str_replace( array("<br>", "<br />"), "\n", $quot);
self::$buffer [] = array(
$matches[1][$k],
iconv('WINDOWS-1251', 'UTF-8', $quot)
);
}
fclose($sock);
echo "[bashorg] quotes buffer has been refreshed (".count(self::$buffer)." quotes added).\n";
} else {
echo "[bashorg] ERROR: can't establish connection to bash.org.ru\n";
}
}

}
function plg_anek()
{
$anek = file_get_contents("http://www.anekdot.ru/scripts/rand_anekdot.php?t=&rank");
preg_match_all("|<pre>([^<]*)</pre>|i",$anek,$out);
foreach($out[1] as $an)
{
$content = $an;
proto::msg(iconv("WINDOWS-1251", "UTF-8", $content));
}
}
SteelBot::RegisterCmd("","plg_anek", 1,"анекдот - анекдоты");
SteelBot::RegisterCmd('bash', array('bashorg', 'SendQuote'), 1, ' "bash 1" - получить последнюю цитату с баша. bash вывЕСТИ случайную цитату');
bashorg::RefreshDB();
bashorg::RefreshLast();

Добавлено через 2 минуты
Надо бы разработать плагин горорскопа с маила. Там каждый знак задиака под своим номером. Козерог,например, 10 номер. ВО И СДЕЛАТЬ АВТОМАТ, ПЕРЕВОД ЗНАКОВ В Цифры и получения гороскопа. Вот есть примерный плагин, но он не работает:(
 
  • Заблокирован
  • #6
Плагин получения цитат с баша:
Добавлено через 2 минуты
Надо бы разработать плагин горорскопа с маила. Там каждый знак задиака под своим номером. Козерог,например, 10 номер. ВО И СДЕЛАТЬ АВТОМАТ, ПЕРЕВОД ЗНАКОВ В Цифры и получения гороскопа. Вот есть примерный плагин, но он не работает:(
*** скрытое содержание ***
Ой... это уже не плагин, а парсер называется :)
И далее, после установки, лагает система..... Долго грузится страница.... Очень темный парсер....
Можно будет... Ммм... Щас с Curl напишу.. Посмотрю работу..
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху