/**
* Выводим RSS Ленту (погода, новости и т.д.)
*/
import ru.jimbot.modules.http.HttpConnection;
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
// Как я описал в комментариях, RSS ленты можно взять на сайте RP5.ru. Для этого заходим туда через "лисичку" (фаерфокс) выбираем нужный город.
// Сверху, в адресной строке справа тыкаем оранжевый квадратик и получаем ссылку на RSS. Прошу обратить внимание на все комментарии в скрипте.
//Установка скрипта как обработчика команды
if(in.equals("install")){
cmd.addCommand("!погода", new Cmd("!погода","$n",39,name)); // Создаем новую команду
cmd.addAuth("pogoda","Вывод погоды"); // Можно так же создать полномочие, без которого погода не будет выводиться
out="Ok";
return;
}
// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "pogoda")) return; // Проверка полномочия (если необходимо)
try{
Vector v = cmd.getParser().parseArgs(msg);
int i1 = (Integer)v.get(0);
// Ссылка на RSS. Погодные RSS под любой город можно взять вот отсюда http://rp5.ru/ru
String s="";
if(i1==0){
s = cmd.psp.loadText("./text/goroda.txt");
String[] ss = s.split("<br>");
for(int i=0;i<ss.length;i++){
proc.mq.add(uin, "Список городов с цифровыми обозначениями\n" + ss[i]);
}
return;
}
if(i1>9){ // здесь число 9 - количество внесенных городов, изменить если надо
proc.mq.add(uin,"Номер города должен быть от 1 до 9"); // и здесь изменить число вместо 9
return;
}
String s="";
if(i1==1){
s = MainProps.getStringFromHTTPutf("http://rp5.ru/rss/5490/ru"); // Москва
}
if(i1==2){
s = MainProps.getStringFromHTTPutf("http://rp5.ru/rss/7285/ru"); // Питер
}
if(i1==3){
s = MainProps.getStringFromHTTPutf("http://rp5.ru/rss/2278/ru"); // Владимир
}
if(i1==4){
s = MainProps.getStringFromHTTPutf("http://rp5.ru/rss/7217/ru"); // Рязань
}
if(i1==5){
s = MainProps.getStringFromHTTPutf("http://rp5.ru/rss/1859/ru"); // Брянск
}
if(i1==6){
s = MainProps.getStringFromHTTPutf("http://rp5.ru/rss/8077/ru"); // Тверь
}
if(i1==7){
s = MainProps.getStringFromHTTPutf("http://rp5.ru/rss/3708/ru"); // Калуга
}
if(i1==8){
s = MainProps.getStringFromHTTPutf("http://rp5.ru/rss/8306/ru"); // Тула
}
if(i1==9){
s = MainProps.getStringFromHTTPutf("http://rp5.ru/rss/7561/ru"); // Смоленск
}
// ==============================================================================
// ДОБАВЛЯЕМ ГОРОДА
// if(i1==peremennaya){ // Где peremennaya означает циферку, которую вы вводите в файл goroda.txt
// s = MainProps.getStringFromHTTPutf("http://rp5.ru/rss/ID_города/ru"); // Берется на сайте rp5.ru
// }
// ==============================================================================
//Разбиваем текст на куски, в качестве разделителя будет использовате тег <br>
String[] ss = s.split("<br>");
//По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь
//исходящих сообщений уина, на котором этот юзер сидит.
for(int i=0;i<ss.length;i++){
// Сюда вписываем то, что нужно убирать при выводе RSS ленты
ss[i] = ss[i].replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
ss[i] = ss[i].replace("<rss version=\"2.0\">","");
ss[i] = ss[i].replace("<channel>","");
ss[i] = ss[i].replace("</channel>","");
ss[i] = ss[i].replace("</rss>","");
ss[i] = ss[i].replace("<title>","");
ss[i] = ss[i].replace("</title>","");
ss[i] = ss[i].replace("RP5.RU:","");
ss[i] = ss[i].replace("rp5.ru:","");
ss[i] = ss[i].replace("<link>","");
ss[i] = ss[i].replace("</link>","");
ss[i] = ss[i].replace("\">","");
ss[i] = ss[i].replace("<description>","");
ss[i] = ss[i].replace("Наибольшая база населённых пунктов","");
ss[i] = ss[i].replace("</description>","");
ss[i] = ss[i].replace("<ttl>","");
ss[i] = ss[i].replace("60</ttl>","");
ss[i] = ss[i].replace("<item>","");
ss[i] = ss[i].replace("</source>","");
ss[i] = ss[i].replace("</item>","");
ss[i] = ss[i].replace("<link></link>","");
ss[i] = ss[i].replace("http://rp5.ru","");
ss[i] = ss[i].replace("<source url=\"http://rp5.ru/rss","");
ss[i] = ss[i].replace("03:00","Ночь ");
ss[i] = ss[i].replace("15:00","День ");
ss[i] = ss[i].replace("<category>","");
ss[i] = ss[i].replace("</category>","");
ss[i] = ss[i].replace("%)","% )");
ss[i] = ss[i].replace("Погода","");
ss[i] = ss[i].replace(" погода","Погода");
ss[i] = ss[i].replace("(","( ");
ss[i] = ss[i].replace(" ","");
ss[i] = ss[i].replace("\n","");
ss[i] = ss[i].replace(" \n","");
ss[i] = ss[i].replace(" \n","");
ss[i] = ss[i].replace(" ","\n");
ss[i] = ss[i].replace(" ","\n");
ss[i] = ss[i].replace(" ","");
ss[i] = ss[i].replace(" ","");
ss[i] = ss[i].replace("Пн","\n Пн");
ss[i] = ss[i].replace("Вт","\n Вт");
ss[i] = ss[i].replace("Ср","\n Ср");
ss[i] = ss[i].replace("Чт","\n Чт");
ss[i] = ss[i].replace("Пт","\n Пт");
ss[i] = ss[i].replace("Сб","\n Сб");
ss[i] = ss[i].replace("Вс","\n Вс");
ss[i] = ss[i].replace("<source url=","");
ss[i] = ss[i].replace("\"/rss","");
// ПРИ ДОБАВЛЕНИИ ГОРОДА ЗДЕСЬ НУЖНО МЕНЯТЬ ОБЯЗАТЕЛЬНО
// ====================================================
ss[i] = ss[i].replace("Москва:","");
ss[i] = ss[i].replace(" в в Москве","");
ss[i] = ss[i].replace("/5490/ru","");
// ----------------------------------------------------
ss[i] = ss[i].replace("Санкт-Петербург:","");
ss[i] = ss[i].replace(" в в Санкт-Петербурге","");
ss[i] = ss[i].replace("/7285/ru","");
// ----------------------------------------------------
ss[i] = ss[i].replace("Владимир:","");
ss[i] = ss[i].replace(" в во Владимире","");
ss[i] = ss[i].replace("/2278/ru","");
// ----------------------------------------------------
ss[i] = ss[i].replace("Рязань:","");
ss[i] = ss[i].replace(" в в Рязани","");
ss[i] = ss[i].replace("/7217/ru","");
// ----------------------------------------------------
ss[i] = ss[i].replace("Брянск:","");
ss[i] = ss[i].replace(" в в Брянске","");
ss[i] = ss[i].replace("/1859/ru","");
// ----------------------------------------------------
ss[i] = ss[i].replace("Тверь:","");
ss[i] = ss[i].replace(" в в Твери","");
ss[i] = ss[i].replace("/8077/ru","");
// ----------------------------------------------------
ss[i] = ss[i].replace("Калуга:","");
ss[i] = ss[i].replace(" в в Калуге","");
ss[i] = ss[i].replace("/3708/ru","");
// ----------------------------------------------------
ss[i] = ss[i].replace("Тула:","");
ss[i] = ss[i].replace(" в в Туле","");
ss[i] = ss[i].replace("/8306/ru","");
// ----------------------------------------------------
ss[i] = ss[i].replace("Смоленск:","");
ss[i] = ss[i].replace(" в в Смоленске","");
ss[i] = ss[i].replace("/7561/ru","");
// ----------------------------------------------------
//ДОБАВЛЯЕМ ГОРОД
// ----------------------------------------------------
// ss[i] = ss[i].replace("НАЗВАНИЕ_ГОРОДА_В_ИМЕНИТЕЛЬНОМ_ПАДЕЖЕ:","");
// ss[i] = ss[i].replace(" в в(или во) НАЗВАНИЕ_ГОРОДА_В_МЕСТНОМ_ПАДЕЖЕ",""); Например: " в в Рязани" или " в во Владимире"
// ss[i] = ss[i].replace("/СЮДА_ЦИФЕРКУ/ru","");
// ==============================================================
proc.mq.add(uin, ss[i]);
}
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
}