ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ_OLD > Уязвимости > ICQ
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 19.11.2008, 00:23
Frize
Познающий
Регистрация: 08.11.2008
Сообщений: 31
Провел на форуме:
139522

Репутация: 4
По умолчанию

Цитата:
Сообщение от aRDee  
Frize
есть такое,
анекдоты выдирать.
Просто добавь в default.plugin.php
PHP код:
function plg_anek()
{
   
$c=file_get_contents('http://www.anekdot.ru/scripts/rand_anekdot.php?t=&rank=4&lim=1');  
   
preg_match('~<pre>(.+?)</pre>~is'$c$reg);
   
$r=explode("</h1>",$reg[0]);  $r=str_replace("</pre>","",$r[1]);  $r=str_replace("<br />","\n",$r);
   
Proto::Msg(urldecode($r));}; 
и

PHP код:
SteelBot::RegisterCmd("anek","plg_anek",    1,"anek - анекдот"); 
код неказист, но рабочий)
неа не работает, команду принимает а текст отсылать не хочет

Последний раз редактировалось Frize; 19.11.2008 в 00:26..
 

  #22  
Старый 19.11.2008, 00:25
Frize
Познающий
Регистрация: 08.11.2008
Сообщений: 31
Провел на форуме:
139522

Репутация: 4
По умолчанию

вот плагин который выводит рандомную фразу


Цитата:
function rand_plugin() {

$arr = file('https://yoursite/file.txt'); // путь к файлу
$num = mt_rand(1, count($arr));
$content = $arr[$num];

SteelBot::Msg($content);
}
Цитата:
SteelBot::RegisterCmd('test', 'rand_plugin', 1, "test- случайная фраза");

Последний раз редактировалось Frize; 19.11.2008 в 00:34..
 

  #23  
Старый 19.11.2008, 02:14
Frize
Познающий
Регистрация: 08.11.2008
Сообщений: 31
Провел на форуме:
139522

Репутация: 4
По умолчанию

Цитата:
Сообщение от aRDee  
Frize
есть такое,
анекдоты выдирать.
Просто добавь в default.plugin.php
PHP код:
function plg_anek()
{
   
$c=file_get_contents('http://www.anekdot.ru/scripts/rand_anekdot.php?t=&rank=4&lim=1');  
   
preg_match('~<pre>(.+?)</pre>~is'$c$reg);
   
$r=explode("</h1>",$reg[0]);  $r=str_replace("</pre>","",$r[1]);  $r=str_replace("<br />","\n",$r);
   
Proto::Msg(urldecode($r));}; 
и

PHP код:
SteelBot::RegisterCmd("anek","plg_anek",    1,"anek - анекдот"); 
код неказист, но рабочий)
скрипт рабочий, но у меня косяк в кодировки, русский язык бот не выводит, что можно сделать?

функцию использовать:
convert_cyr_string ( string str, string from, string to )
только как?че?=))))
 

  #24  
Старый 19.11.2008, 09:51
aRDee
Новичок
Регистрация: 18.11.2008
Сообщений: 3
Провел на форуме:
17632

Репутация: 0
По умолчанию

неплохой монолог)
на anekdot.ru кодировка win1251, а бот использует utf-8.

просто заменить последнюю строку в функции на
PHP код:
Proto::Msg(iconv("WINDOWS-1251""UTF-8",$r);}; 
p.s.
яхз, что там делает urldecode...
 

steelbot
  #25  
Старый 19.11.2008, 18:29
Frize
Познающий
Регистрация: 08.11.2008
Сообщений: 31
Провел на форуме:
139522

Репутация: 4
По умолчанию steelbot

добавил, плагин вобще не загружается
 

  #26  
Старый 19.11.2008, 20:19
aRDee
Новичок
Регистрация: 18.11.2008
Сообщений: 3
Провел на форуме:
17632

Репутация: 0
По умолчанию

таm было указано "заmенить", а ты скорее всего просто добавил...

вообщеm убирай все изmенения из default.plugin.php(или mеняй на исходный) и просто добавь в папку с плагинаmи этот файл
bugaga.plugin.php
перезапускаешь бота и всё, готово.

если не верится в работоспособность, проверь на боте: icq 358710501
 

steelbot
  #27  
Старый 19.11.2008, 21:33
Frize
Познающий
Регистрация: 08.11.2008
Сообщений: 31
Провел на форуме:
139522

Репутация: 4
По умолчанию steelbot

угу, все норм пашет, спс
 

  #28  
Старый 19.11.2008, 23:13
Frize
Познающий
Регистрация: 08.11.2008
Сообщений: 31
Провел на форуме:
139522

Репутация: 4
По умолчанию

плагин берет погоду с gismeteo.ru

Цитата:
class weather {

static $towns = array(),
$refresh_delay = 3600,
$regexp = '~<a\shref="http:\/\/www.gismeteo.ru\/towns\/(\d{5}).htm">(.*?)<\/a>~';

static function Refresh() {
$result = '';
if ($sock = fsockopen("search.gismeteo.ru", 80) ) {
fputs ($sock, "GET http://search.gismeteo.ru/?req=listbycountry&country=%D0%EE%F1%F1%E8%FF&lang =rus HTTP/1.0\n");
fputs ($sock, "Connection: Keep-Alive\n".
"User-Agent: SteelBot/1.0 (http://steelbot.net)\n".
"Host: search.gismeteo.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=>$town_name) {
self::$towns[$matches[1][$k]] = $town_name;
}
fclose($sock);
echo "[weather] town list refreshed (".count(self::$towns)." towns).\n";

} else {
echo "[weather] ERROR: can't establish connection to search.gismeteo.ru\n";
}
SteelBot::TimerAdd(self::$refresh_delay, array('bashorg', 'RefreshLast'));
}

static function GetWeather($town) {
if ( empty($towm) ) {
// не указали город, выводим помощь по команде
} else {
$town_id = array_search($town);
if ($town_id == false) {
SteelBot::Msg("Нет информации о погоде в городе $town");
return;
}
$result = '';
if ($sock = fsockopen("www.gismeteo.ru", 80) ) {
fputs ($sock, "GET http://www.gismeteo.ru/towns/$town_id.htm HTTP/1.0\n");
fputs ($sock, "Connection: Keep-Alive\n".
"User-Agent: SteelBot/1.0 (http://steelbot.net)\n".
"Host: search.gismeteo.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);

//здесь составляем информацию о погоде
$weather = '';

SteelBot::Msg($weather);
} else {
echo "[weather] ERROR: can't establish connection to search.gismeteo.ru\n";
}
}
}

}

SteelBot::RegisterCmd('weather', array('weather', 'GetWeather'), 1, 'weather город - узнать погоду')

Для завершения в нем нужно дописать парсер информации для конкретного города, например для http://www.gismeteo.ru/towns/22471.htm
;

Последний раз редактировалось Frize; 16.01.2009 в 13:21..
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ