

#1
Отправлено 20 Июль 2009 - 17:05
#2
Отправлено 20 Июль 2009 - 17:17
#3
Отправлено 20 Июль 2009 - 17:25
Хм, чтож тогда? Я вообщет обдумал тему насчёт RSS тут мутили...
Вот еси его обработать... но как... :oops:
#4
Отправлено 20 Июль 2009 - 17:32
#5
Отправлено 20 Июль 2009 - 17:42
#6
Отправлено 20 Июль 2009 - 17:48
Как всем известно запрос на поиск состоит из: Основная ссылка поисковой системы + наш запрос.
Так вот для реализации этой идеи нужно к гуглю прилепить текст нашего запроса, почле чего вернуть юзеру ответ поисковой системы.
Ниже приведён пример на пыхе
else if (preg_match("#^.search#", $msg_text)) { preg_match("#\s+(.*)#", $msg_text, $msg); if(empty($msg[0])) { $query = mysql_query("SELECT * FROM `rase` WHERE `description`='search_error'"); $row = mysql_fetch_array($query); $send = $row['tl']; } else { $query = mysql_query("SELECT * FROM `rase` WHERE `description`='wait'"); $row = mysql_fetch_array($query); sendMSG($sendto, $row['tl']); $search = file_get_contents("http://forum.antichat.ru/search.php?do=process&query=".$msg[1]); if(preg_match_all("#(.*)\r\n\t\t\t#i", $search, $out, PREG_SET_ORDER)) { preg_match("#Ключевые слова: (.*)#isU", $search, $kls); $send = "===========\r\nПоиск по: ".$kls[1]."\r\n===========\r\n"; $i = 0; foreach($out as $row) { if(++$i > 10) break; $row[1] = str_replace("-".$msg[1], "", $row[1]); $send .= $row[2]."\r\nhttp://forum.antichat.ru/".$row[1].".html\r\n======================\r\n"; } } else { $query = mysql_query("SELECT * FROM `rase` WHERE `description`='search_notfound'"); $row = mysql_fetch_array($query); $row['tl'] = str_replace("\$request", $msg[1], $row['tl']); $send = stripslashes($row['tl']); } } }
#7
Отправлено 20 Июль 2009 - 18:02
хм, а вот с пхп я както не подумал... в целом... ой да у меня мозгов не хватит! :) Жаль конечно что через обычные крипты никак...
#8
Отправлено 20 Июль 2009 - 18:09
VaLenOK007 сказал:
хм, а вот с пхп я както не подумал... в целом... ой да у меня мозгов не хватит! :) Жаль конечно что через обычные крипты никак...
Только вопрос, что со ссылками делать будешь? их тоже потом обрабатывать?
Или лучше сразу поиск по википендии организовать? или ещё по какому ресурсу...
#9
Отправлено 20 Июль 2009 - 18:12
я об этом думал... можно категории поставить, к примеру !поиск Йожик ЖЖ(живой журнал) !поиск Йожик гугл, ну и в том же духе...
#10
Отправлено 20 Июль 2009 - 18:17
#11
Отправлено 20 Июль 2009 - 18:19
#12
Отправлено 20 Июль 2009 - 18:19
#13
Отправлено 20 Июль 2009 - 18:49
#14
Отправлено 20 Июль 2009 - 21:40
С таким обилием идей(как реализованых так и не реализованых), которые не очень то и нужны в чате, давно бы уже стоило подумать о разработке модуля информ бота в jImBot'e.
Написать можно на примере того же анек-бота, скриптов на форуме полным полно которые так же можно брать за основу.
+ Вашим юзерам было бы намного удобнее использовать такие вещи как погода, гороскоп, программа ТВ и прочие вещи реализованные с помощью RSS на отдельном номере
+ Вам было бы намного удобнее управлять всеми модулями вашего бота из одной админки.
+ Функций можно было бы делать неограниченно(в пределах ресурсов вашего сервера разумеется)
+ Можно было бы вести отдельную базу юзеров, отдельную статистику.
-----
P.S.: Но это всего лишь мои мысли и для этого нужно приложить усилия всем.
А на примере той же викторины видно что работать над чем то более серьёзным чем просто скрипт коллективом тут мало кто хочет.
Но опять же отмечу, это лишь моё мнение.
#15
Отправлено 20 Июль 2009 - 22:19
#16
Отправлено 20 Июль 2009 - 22:43
1)Запрашиваем jimbot
2) Берём ссылку
http://www.google.ru/search?q=3) Добавляем запрашиваемое слово/текст
http://www.google.ru/search?q=jimbot4) Получаем ответ поисковой системы
#17
Отправлено 20 Июль 2009 - 23:25
/** * google */ import ru.jimbot.modules.http.HttpConnection; import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*; //Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!google", new Cmd("!google","$c",39,name)); out="Ok"; return; } // Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; try{ //парсим Vector v = cmd.getParser().parseArgs(msg); String google = (String)v.get(0); //Прочитаем текст из файла String s = MainProps.getStringFromHTTP("http://www.google.ru/search?q="+google); //Разбиваем текст на куски, в качестве разделителя будет использовате тег String[] ss = s.split(" "); //По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь //исходящих сообщений уина, на котором этот юзер сидит. for(int i=0;i
#18
Отправлено 20 Июль 2009 - 23:29
!google jimbot
Пробный (22:23:23 20/07/2009)
ar{height:22px}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}#guser{padding-bottom:7px !important;text-align:right}#gbar,#guser{font-size:13px;padding-top:1px !important}@media all{.gb1,.gb3{height:22px;margin-right:.5em;vertical-align:top}#gbar{float:left}}a.gb1,a.gb3{color00c !important}.gb3{text-decoration:none}a.gb1,a.gb2,a.gb3,.link{color20c!important}.ts{border-collapse:collapse}.ts td{padding:0}.ti,.bl,form,#res h3{display:inl
Пробный (22:23:24 20/07/2009)
ine}.ti{display:inline-table}.fl:link,.gl,.gl a:link{color77c}a:link,.w,#prs a:visited,#prs a:active,.q:active,.q:visited{color20c}.mblink:visited,a:visited{color551a8b}a:active{color:red}.cur{colora90a08;font-weight:bold}.b{font-weight:bold}.j{width:42em;font-size:82%}.s{max-width:42em}.sl{font-size:82%}#gb{text-align:right;padding:1px 0 7px;margin:0}.hd{position:absolute;width:1px;height:1px;top:-1000em;overflow:hidden}.f,.m,.c h2,#mbEnd h2{color676767}.a,cite,.cite,.cite:link{color:
Пробный (22:23:25 20/07/2009)
green;font-style:normal}#mbEnd{float:right}h1,ol{margin:0;padding:0}li.g,body,html,.std,.c h2,#mbEnd h2,h1{font-size:small;font-family:arial,sans-serif}.c h2,#mbEnd h2,h1{font-weight:normal}#ssb,.clr{clear:both;margin:0 8px}#nav a,#nav a:visited,.blk a{color000}#nav a{display:block}#nav .b a,#nav .b a:visited{color20c}.ch{cursorointer}h3,.med{font-size:medium;font-weight:normal;padding:0;margin:0}.e{margin:.75em 0}.slk td{padding-left:40px;padding-top:5px;vertical-align:top}.slk div{paddin
Пробный (22:23:25 20/07/2009)
g-left:10px;text-indent:-10px}.fc{margin-top:.5em;padding-left:3em}#mbEnd cite{display:block;text-align:left}#mbEnd p{margin:-.5em 0 0 .5em;text-align:center}#bsf,#ssb,.blk{border-top:1px solid #6b90da;backgroundf0f7f9}#ssb{margin:11px 0}#bsf{border-bottom:1px solid #6b90da}#flp{margin:7px 0}#ssb div{float:left;padding:4px 0 0;padding-left:7px;padding-right:.5em}#prs a,#prs b{margin-right:.6em}#ssb p{text-align:right;white-space:nowrap;margin:.1em 0;padding:.2em}#ssb{margin:0 8px 11px;padding:
Часть сообщения была обрезана...
Пробный (22:23:25 20/07/2009)
Найденно
Настройки
#19
Отправлено 20 Июль 2009 - 23:57
/** * translate */ import ru.jimbot.modules.http.HttpConnection; import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*; //Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!translate", new Cmd("!translate","$c",39,name)); out="Ok"; return; } // Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; try{ //парсим Vector v = cmd.getParser().parseArgs(msg); String text = (String)v.get(0); //Прочитаем текст из файла String s = MainProps.getStringFromHTTP("http://google.com/translate_t?langpair=$lg&text="+text); //Разбиваем текст на куски, в качестве разделителя будет использовате тег String[] ss = s.split(" "); //По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь //исходящих сообщений уина, на котором этот юзер сидит. for(int i=0;i
#20
Отправлено 21 Июль 2009 - 13:29
/** * google */ import ru.jimbot.modules.http.HttpConnection; import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*; //Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!гугл", new Cmd("!google","$c",39,name)); cmd.addAuth("google","бутылочка"); out="Ok"; return; } // Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; try{ //парсим Vector v = cmd.getParser().parseArgs(msg); String google = (String)v.get(0); //Прочитаем текст из файла String s = MainProps.getStringFromHTTP("http://www.google.ru/search?q="+google); //Разбиваем текст на куски, в качестве разделителя будет использовате тег String[] ss = s.split(" "); //По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь //исходящих сообщений уина, на котором этот юзер сидит. for(int i=0;i<ss.length;i++){ // Сюда вписываем то, что нужно убирать при выводе RSS ленты ss[i] = ss[i].replace("",""); ss[i] = ss[i].replace("xml version",""); ss[i] = ss[i].replace("<?",""); ss[i] = ss[i].replace("=",""); ss[i] = ss[i].replace("</item>",""); ss[i] = ss[i].replace("<title>",""); ss[i] = ss[i].replace("<item>",""); ss[i] = ss[i].replace("</title>",""); ss[i] = ss[i].replace("</item>",""); ss[i] = ss[i].replace("<link>",""); ss[i] = ss[i].replace("<pubDate>",""); ss[i] = ss[i].replace("</link>",""); ss[i] = ss[i].replace("</pubDate>",""); ss[i] = ss[i].replace("<guid>",""); ss[i] = ss[i].replace("</guid>",""); ss[i] = ss[i].replace("<description>",""); ss[i] = ss[i].replace("</description>",""); ss[i] = ss[i].replace("http://google.ru",""); ss[i] = ss[i].replace("</rss>",""); ss[i] = ss[i].replace("prid",""); ss[i] = ss[i].replace("</channe",""); ss[i] = ss[i].replace("l>",""); ss[i] = ss[i].replace(""",""); ss[i] = ss[i].replace("http://google.ru ",""); ss[i] = ss[i].replace("</lastBuildDate>",""); ss[i] = ss[i].replace("<lastBuildDate>",""); ss[i] = ss[i].replace("</image>",""); ss[i] = ss[i].replace("<image>",""); ss[i] = ss[i].replace("memox.ru",""); ss[i] = ss[i].replace("<urhttp://www./img/logo.gif</ur ",""); ss[i] = ss[i].replace("<language>",""); ss[i] = ss[i].replace("</language>",""); ss[i] = ss[i].replace("ru",""); ss[i] = ss[i].replace("http://www./",""); ss[i] = ss[i].replace("<channe",""); ss[i] = ss[i].replace("1.0",""); ss[i] = ss[i].replace("encoding",""); ss[i] = ss[i].replace("windows-1251",""); ss[i] = ss[i].replace("?>",""); ss[i] = ss[i].replace("version",""); ss[i] = ss[i].replace("2.0",""); ss[i] = ss[i].replace("http://www.",""); ss[i] = ss[i].replace("<rss",""); ss[i] = ss[i].replace("xmnls",""); ss[i] = ss[i].replace(":memox",""); ss[i] = ss[i].replace(" ",""); proc.mq.add(uin,"Найденноn" + ss[i]); } } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых пользователей