Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

21.06.2009, 17:11
|
|
Новичок
Регистрация: 19.06.2009
Сообщений: 23
Провел на форуме: 80405
Репутация:
1
|
|
SteelBot
Здравствуйте дорогие форумчанины.
Прошу вас помочь с написание плагина, который показывает гороскоп. Есть готовое решение только оно не работает. Я предлагаю брать гороскоп с mail.ru но там каждый знак зодиака подскатавлен под номером. Получается надо изменять на автомате, например козерогу присваивать значение 10, и подстанавливать это значение в ссылку.
<?php function goro($param) { if (empty($param)) { SteelBot::CmdHelp('goro'); } else { $param=iconv('windows-1251', 'UTF-8', $param); switch ($param){ case "козерог": case "овен": case "рак": case "весы": case "водолей": case "телец": case "лев": case "скорпион": case "рыбы": case "близнецы": case "дева": case "стрелец": $arZod = array('Козерог' => 10, 'Овен' => 1,'дева'=>'9'); $buf=file_get_contents("http://horo.mail.ru/prediction.html?sign=".$arZod[$param]); $buf=iconv("WINDOWS-1251", "UTF-8", $buf); $a=explode("table", $buf); $a[9]=strip_tags($a[9]); $a[11]=strip_tags($a[11]); $chislo=strpos($a[9],">"); $a[9]=substr($a[9],$chislo+1); $chislo=strpos($a[11],">"); $a[11]=substr($a[11],$chislo+1); $chislo=strpos($a[9],"для"); $part1=substr($a[9],0,$chislo+6); $part2=substr($a[9],$chislo+6); $chislo=strpos($a[11],"для"); $part3=substr($a[11],0,$chislo+6); $part4=substr($a[11],$chislo+6); $param=iconv("WINDOWS-1251", "UTF-8", $param); SteelBot::Msg($part1." ".$param." ".$part2." "." ".$part3." ".$param." ".$part4); break; default: SteelBot::Msg('Неправильно введен знак зодиака. Существующие знаки зодиака: козерог, овен, рак, весы, водолей, телец, лев, скорпион, рыбы, близнецы, дева, стрелец'); } } } SteelBot::RegisterCmd("гороскоп1","goro", 1,"гороскоп (знак зодиака) - гороскоп"); ?>
это готовое не доделоное решение
|
|
|

21.06.2009, 17:13
|
|
Познающий
Регистрация: 04.01.2009
Сообщений: 94
Провел на форуме: 404716
Репутация:
145
|
|
парень, ты знаешь что такое перенос строки?
|
|
|

21.06.2009, 17:18
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Похоже на brainfuck чем-то
|
|
|

21.06.2009, 17:19
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
php code beautifier
PHP код:
<?php
function goro( $param )
{
if( empty($param) ) {
SteelBot::CmdHelp( 'goro' );
} else {
$param = iconv( 'windows-1251', 'UTF-8', $param );
switch ( $param ) {
case "козерог":
case "овен":
case "рак":
case "весы":
case "водолей":
case "телец":
case "лев":
case "скорпион":
case "рыбы":
case "близнецы":
case "дева":
case "стрелец":
$arZod = array( 'Козерог' => 10, 'Овен' => 1, 'дева' => '9' );
$buf = file_get_contents( "http://horo.mail.ru/prediction.html?sign=" . $arZod[$param] );
$buf = iconv( "WINDOWS-1251", "UTF-8", $buf );
$a = explode( "table", $buf );
$a[9] = strip_tags( $a[9] );
$a[11] = strip_tags( $a[11] );
$chislo = strpos( $a[9], ">" );
$a[9] = substr( $a[9], $chislo + 1 );
$chislo = strpos( $a[11], ">" );
$a[11] = substr( $a[11], $chislo + 1 );
$chislo = strpos( $a[9], "для" );
$part1 = substr( $a[9], 0, $chislo + 6 );
$part2 = substr( $a[9], $chislo + 6 );
$chislo = strpos( $a[11], "для" );
$part3 = substr( $a[11], 0, $chislo + 6 );
$part4 = substr( $a[11], $chislo + 6 );
$param = iconv( "WINDOWS-1251", "UTF-8", $param );
SteelBot::Msg( $part1 . " " . $param . " " . $part2 . " " . " " . $part3 . " " . $param . " " . $part4 );
break;
default:
SteelBot::Msg( 'Неправильно введен знак зодиака. Существующие знаки зодиака: козерог, овен, рак, весы, водолей, телец, лев, скорпион, рыбы, близнецы, дева, стрелец' );
}
}
}
SteelBot::RegisterCmd( "гороскоп1", "goro", 1, "гороскоп (знак зодиака) - гороскоп" );
?>
|
|
|

21.06.2009, 17:52
|
|
Новичок
Регистрация: 19.06.2009
Сообщений: 23
Провел на форуме: 80405
Репутация:
1
|
|
Я вставил, и она сама так в строку превратилось, извиняюсь....так поможете мне?)))
|
|
|

21.06.2009, 20:27
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
у меня нету класса стилбот, писал на коленке
PHP код:
<?php
function goro( $param )
{
if( empty($param) ) {
SteelBot::CmdHelp( 'goro' );
} else {
$param_id = 0;
/*В param_id вписать нужное значение*/
switch ( $param ) {
case "козерог":
$param_id = 10;
case "овен":
$param_id = 10;
case "рак":
$param_id = 10;
case "весы":
$param_id = 10;
case "водолей":
$param_id = 10;
case "телец":
$param_id = 10;
case "лев":
$param_id = 10;
case "скорпион":
$param_id = 10;
case "рыбы":
$param_id = 10;
case "близнецы":
$param_id = 10;
case "дева":
$param_id = 10;
case "стрелец":
$param_id = 10;
$buf = file_get_contents( "http://horo.mail.ru/prediction.html?sign=" . $param_id );
preg_match('/(?<=tm_today">)(?:\s*)?[\s\S]*?(?=<script)/', $buf, $res);
$buf = strip_tags($res[0]);
SteelBot::Msg( $buf );
break;
default:
SteelBot::Msg( 'Неправильно введен знак зодиака. Существующие знаки зодиака: козерог, овен, рак, весы, водолей, телец, лев, скорпион, рыбы, близнецы, дева, стрелец' );
}
}
}
SteelBot::RegisterCmd( "гороскоп1", "goro", 1, "гороскоп (знак зодиака) - гороскоп" );
?>
|
|
|

22.06.2009, 00:16
|
|
Новичок
Регистрация: 19.06.2009
Сообщений: 23
Провел на форуме: 80405
Репутация:
1
|
|
Присылает ответ, тока что то с оригиналом его не сравнить, вот что присылает робот на водолея:
Очень сильны позитивные тенденции в сфере личных отношений. В этот день начинаются новые романы, а уже существующие обретают особую глубину....
а вот с маила
С профессиональной точки зрения день очень сложен: деловая активность невысока, а окружающие, в том числе и руководство, ждут от вас выдающихся успехов......
|
|
|

22.06.2009, 00:21
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
правь регулярку, я бота твоего в глаза не видел, если хочеш готовое решение прошу в раздел покупки и продажи. ты param_id правлеьно выставил?
|
|
|

22.06.2009, 00:29
|
|
Новичок
Регистрация: 19.06.2009
Сообщений: 23
Провел на форуме: 80405
Репутация:
1
|
|
Да правильно, у всех не тот гороскоп написан
|
|
|

22.06.2009, 00:34
|
|
Новичок
Регистрация: 19.06.2009
Сообщений: 23
Провел на форуме: 80405
Репутация:
1
|
|
По такому же принцыпу попытался сделать плагин для погоды, с gismeteo.ru вот код:
PHP код:
<?php
function pogoda( $param )
{
if( empty($param) ) {
SteelBot::CmdHelp( 'pogoda' );
} else {
$param_id = 0;
/*В param_id вписать нужное значение*/
switch ( $param ) {
case "москва":
$param_id = 4368;
case "овен":
$param_id = 10;
case "рак":
$param_id = 10;
case "весы":
$param_id = 10;
case "водолей":
$param_id = 10;
case "телец":
$param_id = 10;
case "лев":
$param_id = 10;
case "скорпион":
$param_id = 10;
case "рыбы":
$param_id = 10;
case "близнецы":
$param_id = 10;
case "дева":
$param_id = 10;
case "стрелец":
$param_id = 10;
$buf = file_get_contents( "http://gismeteo.ru/city/daily/" . $param_id );
preg_match('/(?<=tm_today">)(?:\s*)?[\s\S]*?(?=<script)/', $buf, $res);
$buf = strip_tags($res[0]);
SteelBot::Msg( $buf );
break;
default:
SteelBot::Msg( 'Вы ввели город, которого нет в базе.' );
}
}
}
SteelBot::RegisterCmd( "погода", "pogoda", 1, "погода (город)- узнать погоду в городе" );
?>
отсылаю погода москва, и мне ничего в ответ не приходит... помогите
Исправил, извините 
Последний раз редактировалось Sudba; 22.06.2009 в 10:44..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|