скрипты для jimbot 0.4.0 от спека
|
|
tashanov93 | Дата: Суббота, 24.10.2009, 02:11 | Сообщение # 16 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт для просмотра кто в бане Code /** * Скрипт вывода 20 последних разбанов * * (с) Sushka 2009 */
import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*; import ru.jimbot.Manager; import java.sql.*;
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!банлист", new Cmd("!банлист","",39,name)); cmd.addAuth("ubanlist","20 последний разбанов"); out="Ok"; return; }
try{ String host = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.host"); String namedb = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.dbname"); String user = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.user"); String pass = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.pass"); DBChat db; db = new DBChat(cmd.srv.getName()); db.openConnection(host, namedb, user, pass); String s = "20 последних разбанов:\n"; s+="Время|Пользователь|Кто разбанил\n"; try { PreparedStatement pst = db.getDb().prepareStatement("select time, user_id, user_id2 from events where type='UBAN' order by time desc"); ResultSet rs = pst.executeQuery(); for(int i=0;i<20;i++){ if(rs.next()){ s += "["+rs.getTimestamp(1)+"] "+ (rs.getInt(2)==0 ? "Admin" : cmd.srv.us.getUser(rs.getInt(2)).localnick)+"|" +rs.getInt(2)+"|,"+ (rs.getInt(3)==0 ? "Admin" : cmd.srv.us.getUser(rs.getInt(3)).localnick)+"|" +rs.getInt(3)+"|\n"; } } rs.close(); pst.close(); } catch (Exception ex) { ex.printStackTrace(); } proc.mq.add(uin,s); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:11 | Сообщение # 17 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт Список комнат, с кол-м юзеров в скобульках Code /** * Список комнат, с кол-м юзеров в скобульках * Imda */
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("!хаты","",39,name)); cmd.addCommand("!ск", new Cmd("!ск","",39,name)); cmd.addCommand("!rl", new Cmd("!rl","",39,name)); out="Ok"; return; }
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
try{ String s = "Список комнат в чате\n"; Set rid = cmd.srv.us.getRooms(); for(int i:rid){ Enumeration ee = cmd.srv.cq.uq.keys(); int cnt=0; while(ee.hasMoreElements()){ String ii = ee.nextElement(); Users us = cmd.srv.us.getUser(ii); if(us.state==UserWork.STATE_CHAT){ if(us.room==i) cnt++; } } s += i + " - " + cmd.srv.us.getRoom(i).getName() + " ["+cnt+" чел]\n"; } proc.mq.add(uin,s); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:12 | Сообщение # 18 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| новый переход по комнатам Code /** * Скрипт для расширения команд чата * Замена перехода в комнаты */
/** * При вызове скрипта определены следующие переменные: * ChatCommandProc cmd - ссылка на обработчик команд * IcqProtocol proc - ссылка на процесс обработки icq * String msg - текст сообщения с командой * String uin - кто отправил сообщение * String name - имя этого файла (при процедуре инсталяции скрипта) */
import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*;
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!room", new Cmd("!room","$n",39,name)); cmd.addCommand("!комната", new Cmd("!комната","$n",39,name)); cmd.addCommand("!хата", new Cmd("!хата","$n",39,name)); cmd.addAuth("room","Переход по комнатам"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin)) return; if(!cmd.auth(proc,uin, "room")) return;
try{ String MESSAGE1 = " улетел(а) из хаты "; String MESSAGE2 = " пришел(а) в хату "; Vector v = cmd.getParser().parseArgs(msg); //Согласно шаблону, оба аргумента должны быть числами int i = (Integer)v.get(0); Users uss = cmd.srv.us.getUser(uin); if(uss.room==i){ proc.mq.add(uin,"Ты уже сидишь в этой хате!"); } else if(cmd.qauth(proc,uin, "anyroom") || cmd.srv.us.checkRoom(i)){ cmd.srv.cq.addMsg(uss.localnick + MESSAGE1 + uss.room, uin, uss.room); uss.room=i; cmd.srv.us.updateUser(uss); cmd.srv.cq.changeUserRoom(uin, i); cmd.srv.cq.addMsg(uss.localnick + MESSAGE2 + uss.room, uin, uss.room); proc.mq.add(uin,"Ты перешел в комнату " + i + " - " + cmd.srv.us.getRoom(i).getName() + (cmd.srv.us.getRoom(i).getTopic().equals("") ? "" : ("\nТема: " + cmd.srv.us.getRoom(i).getTopic()))); } else { proc.mq.add(uin,"Такой хаты не существует!"); } }catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:12 | Сообщение # 19 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| читать личные сообщения пользователей Code import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*;
if(in.equals("install")){ cmd.addCommand("+p", new Cmd("+p","$n $s",39,name)); cmd.addCommand("+р", new Cmd("+р","$n $s",39,name)); cmd.addCommand("+лс", new Cmd("+лс","$n $s",39,name)); cmd.addAuth("pmsg","Отправка приватных сообщений"); out="Ok"; return; }
if(!cmd.isChat(proc,uin)) return; if(!cmd.auth(proc,uin, "pmsg")) return;
try{ Vector v = cmd.getParser().parseArgs(msg); int no = (Integer)v.get(0); String txt = (String)v.get(1); if(txt.equals("")) { proc.mq.add(uin,"Сообщение отсутствует"); return; } Users uss = cmd.srv.us.getUser(no); if(uss == null){ proc.mq.add(uin,"Такого пользователя не существует"); return; } if(!cmd.srv.cq.testUser(uss.sn)){ proc.mq.add(uin,"Пользователь не в сети"); return; } if(txt.length()>cmd.psp.getIntProperty("chat.MaxMsgSize")){ txt = txt.substring(0,cmd.psp.getIntProperty("chat.MaxMsgSize")); proc.mq.add(uin,"Слишком длинное сообщение было обрезано: " + txt); }
String im = "******"; //кому присылать уведомление Log.talk("CHAT: " + uss.sn + ">> Личное сообщение от [" + cmd.srv.us.getUser(uin).id + "]" + cmd.srv.us.getUser(uin).localnick + " : " + txt); cmd.srv.us.db.log(uss.id,uin,"OUT",">> Личное сообщение от [" + cmd.srv.us.getUser(uin).id + "]" + cmd.srv.us.getUser(uin).localnick + " : " +
txt,uss.room); cmd.srv.getIcqProcess(uss.basesn).mq.add(uss.sn,"Личное сообщение от [" + cmd.srv.us.getUser(uin).id + "]" + cmd.srv.us.getUser(uin).localnick + " : "
+ txt); cmd.srv.getIcqProcess(cmd.srv.us.getUser(im).basesn).mq.add(im,"Отправлено личное сообщение пользователю [" + uss.id + "]" + uss.localnick + " от
[" + cmd.srv.us.getUser(uin).id + "]" + cmd.srv.us.getUser(uin).localnick + " : " + txt); proc.mq.add(uin,"Сообщение пользователю [" + uss.id + "]" + uss.localnick + " Отправлено8-)"); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:13 | Сообщение # 20 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт свадьбы Code /** * *Скрипт свадьба пользователей, на основе banroom! *!свадьба id(невесты) id(жениха) */
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("!свадьба","$n $n",39,name)); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
try{ Vector v = cmd.getParser().parseArgs(msg); //невеста int i1 = (Integer)v.get(0); //жених int i2 = (Integer)v.get(1); Users uss = cmd.srv.us.getUser(i2); Users u = cmd.srv.us.getUser(i1); if(u.id==0){ proc.mq.add(uin,"Пользователь не найден"); return; } if(u.state!=UserWork.STATE_CHAT){ proc.mq.add(uin,"Этого пользователя нет в чате."); return;
} else { // Оповещаем чат cmd.srv.cq.addMsg("У пользователей " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + "свадьба*DRINK*!", u.sn, u.room); cmd.srv.cq.addMsg("У пользователей " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + "свадьба*DRINK*!", uss.sn, uss.room); // Оповещаем юзера cmd.srv.getIcqProcess(uss.basesn).mq.add(uss.sn,"Поздравляю у тебя свадьба, твоя невеста " + u.localnick + "[" + u.id + "]"); cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"Поздравляю у тебя свадьба, твой жених " + uss.localnick + "[" + uss.id + "]"); // Меняем ник у жениха String nick = u.localnick + "(замужем)"; String oldNick = u.localnick; u.localnick=nick; cmd.srv.us.updateUser(u); cmd.srv.us.db.event(u.id, uin , "REG", 0, "", nick); // Меняем ник у невесты String nick1 = uss.localnick + "(женат)"; String oldNick1 = uss.localnick; uss.localnick=nick1; cmd.srv.us.updateUser(uss); cmd.srv.us.db.event(uss.id, uin , "REG", 1, "", nick1); }
// Сообщаем об успешном выполнении команды proc.mq.add(uin,"Пользователи " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + " обвенчались!"); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:13 | Сообщение # 21 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| новая статистика Code /** * Скрипт для вывода статистики */
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("!лучшие","",39,name)); cmd.addCommand("!сегодня", new Cmd("!сегодня","",39,name)); cmd.addAuth("best","Вывод статистики лучших"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "best")) return;
try{ String s = "За последние сутки в yarchat2: \n"; s += "Зашло: " + cmd.srv.us.statUsersCount(); s += "\nОтправлено сообщений:1" + cmd.srv.us.statMsgCount(); s += "\nКикнутых чуваков: " + cmd.srv.us.statKickUsersCount(); s += "\nВсего киков: " + cmd.srv.us.statKickCount(); s += "\nЗабанено чуваков: " + cmd.srv.us.statBanUsersCount(); s += "\nСамые болтливые чуваки чата:"; String[] ss = cmd.srv.us.statUsersTop().split(";"); for(int i=0;i<ss.length;i++){ s+="\n"+ss[i]; } s += "\nА самый крутой в чате это я ~Вандал~ мой id=0 "; proc.mq.add(uin,s);
} catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:14 | Сообщение # 22 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт развода Code /** * Скрипт развести пользователей, на основе ubanroom ! *!развести id(невесты) id(жениха) */
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("!развести","$n $n",39,name)); cmd.addCommand("!развод", new Cmd("!развод","$n $n",39,name)); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
try{ //Парсим строку аргументов Vector v = cmd.getParser().parseArgs(msg); //Согласно шаблону, аргумент должн быть числом // Жена int i1 = (Integer)v.get(0); // Муж int i2 = (Integer)v.get(1); // Находим юзера Users u = cmd.srv.us.getUser(i1); Users uss = cmd.srv.us.getUser(i2); // Проверяем есть ли такой юзер ваще? if(u.id==0){ proc.mq.add(uin,"Пользователи не найден"); return; }
// Меняем ник у жены если не надо стереть. String nick = u.localnick.replace("(замужем)",""); String oldNick = u.localnick; u.localnick=nick; cmd.srv.us.updateUser(u); cmd.srv.us.db.event(u.id, uin, "REG", 0, "", nick); // Меняем ник у мужа если не надо стереть. String nick1 = uss.localnick.replace("(женат)",""); String oldNick1 = uss.localnick; uss.localnick=nick1; cmd.srv.us.updateUser(uss); cmd.srv.us.db.event(uss.id, uin, "REG", 1, "", nick1); /////////////////////////////////// if(u.state==UserWork.STATE_CHAT){ cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"Ты свободен."); } // Сообщаем об успешном выполнении команды cmd.srv.cq.addMsg("Пользователи " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + " Развелись!", u.sn, u.room); cmd.srv.cq.addMsg("Пользователи " + uss.localnick + "[" + uss.id + "] " + " и " + u.localnick + "[" + u.id + "] " + " Развелись!", uss.sn, uss.room); proc.mq.add(uin,"Брак распался..."); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:15 | Сообщение # 23 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| прогноз погоды в чат Code /** * Выводим 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){ proc.mq.add(uin,"Список городов с цифровыми обозначениями:\n"); s = cmd.psp.loadText("./text/goroda.txt"); String[] ss = s.split("<br>"); for(int i=0;i<ss.length;i++){ proc.mq.add(uin,ss[i]); } return; }
String s=""; if(i1==1){ s = MainProps.getStringFromHTTP("http://rp5.ru/rss/5490/ru"); // Москва } if(i1==2){ s = MainProps.getStringFromHTTP("http://rp5.ru/rss/7285/ru"); // Питер } if(i1==3){ s = MainProps.getStringFromHTTP("http://rp5.ru/rss/2278/ru"); // Владимир } if(i1==4){ s = MainProps.getStringFromHTTP("http://rp5.ru/rss/7217/ru"); // Рязань } if(i1==5){ s = MainProps.getStringFromHTTP("http://rp5.ru/rss/1859/ru"); // Брянск } if(i1==6){ s = MainProps.getStringFromHTTP("http://rp5.ru/rss/7147/ru"); // Ростов На Дону } if(i1==7){ s = MainProps.getStringFromHTTP("http://rp5.ru/rss/1464/ru"); // Белореченск } if(i1==8){ s = MainProps.getStringFromHTTP("http://rp5.ru/rss/4429/ru"); // Ярославль }
// ============================================================================== // ДОБАВЛЯЕМ ГОРОДА // if(i1==peremennaya){ // Где peremennaya означает циферку, которую вы вводите в файл goroda.txt // s = MainProps.getStringFromHTTP("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=\"windows-1251\"?>",""); 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("<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("04:00","Ночь"); ss[i] = ss[i].replace("16: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(" в",""); 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("в ",""); 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("/7147/ru","");
// ---------------------------------------------------- ss[i] = ss[i].replace("Белореченск:",""); ss[i] = ss[i].replace("Белореченске",""); ss[i] = ss[i].replace("/1464/ru","");
// ---------------------------------------------------- ss[i] = ss[i].replace("Ярославль:",""); ss[i] = ss[i].replace("Ярославле",""); ss[i] = ss[i].replace("9462/ru","");
// ---------------------------------------------------- //ДОБАВЛЯЕМ ГОРОД // ---------------------------------------------------- // ss[i] = ss[i].replace("НАЗВАНИЕ_ГОРОДА_В_ИМЕНИТЕЛЬНОМ_ПАДЕЖЕ:",""); // ss[i] = ss[i].replace("НАЗВАНИЕ_ГОРОДА_В_МЕСТНОМ_ПАДЕЖЕ",""); // ss[i] = ss[i].replace("/СЮДА_ЦИФЕРКУ/ru","");
if(i1==1){ proc.mq.add(uin,"Погода в Москве:\n" + ss[i]); } if(i1==2){ proc.mq.add(uin,"Погода в Санкт-Петербурге:\n" + ss[i]); } if(i1==3){ proc.mq.add(uin,"Погода во Владимире:\n" + ss[i]); } if(i1==4){ proc.mq.add(uin,"Погода в Рязани:\n" + ss[i]); } if(i1==5){ proc.mq.add(uin,"Погода в Брянске:\n" + ss[i]); } if(i1==6){ proc.mq.add(uin,"Погода в Ростове-на-Дону:\n" + ss[i]); } if(i1==7){ proc.mq.add(uin,"Погода в Белореченске:\n" + ss[i]); } if(i1==8){ proc.mq.add(uin,"Погода в Ярославле:\n" + ss[i]); }
// ============================================================== // ДОБАВЛЯЕМ НОВЫЙ ГОРОД (НАЧАЛО СВЕРХУ) // if(i1==peremennaya){ // СМОТРИМ ВЫШЕ // proc.mq.add(uin,"Погода в НАЗВАНИЕ_ГОРОДА:\n" + ss[i]); // ТУТ МЕНЯЕМ // } // ==============================================================
} } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:15 | Сообщение # 24 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| смена текста х-статуса Code /**скрипт для смены текста x-статусa * АВтов: аrhangel_ess спс Sushka * работает по принципу !tx <text> * * *p.s.ПРи Использование Скрипта В исходниках, Пишим аВторство *Не НАписание КараетСя Бейсбольной Битой По ГОЛОве =) */
import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*; import ru.jimbot.Manager;
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!х-текст", new Cmd("!х-текст","$s",39,name)) ; cmd.addAuth("sxtatus","Смена xстатуса"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "textxstatus")) return;
Vector v = cmd.getParser().parseArgs(msg); String i2 = (String)v.get(0); proc.mq.add(uin,"text xСтатусa чата изменён"); ChatProps.getInstance(cmd.srv.getName()).setStringProperty("icq.STATUS_MESSAGE2", i2); Manager.getInstance().getService(cmd.srv.getName()).getProps().save();
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:16 | Сообщение # 25 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт для удаления комнат Code import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*; import ru.jimbot.Manager; import java.sql.*;
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!удалитьхату", new Cmd("!удалитьхату","$n",39,name)); cmd.addAuth("uroom","Удаление комнат"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "uroom")) return;
try{ //парсим Vector v = cmd.getParser().parseArgs(msg); int i = (Integer)v.get(0); //соединяемся с базой String host = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.host"); String namedb = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.dbname"); String user = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.user"); String pass = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.pass"); DBChat db; db = new DBChat(cmd.srv.getName()); db.openConnection(host, namedb, user, pass); //задаем sql запрос String q = "DELETE FROM rooms WHERE id="+i+" LIMIT 1"; //удаляем комнату PreparedStatement pst = db.getDb().prepareStatement(q); pst.execute(); pst.close(); //Оповещаем proc.mq.add(uin,"Удалена комната номер " + i); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Большая ошибка "+ex.getMessage()); }/*Manager.restart();*/ //раскоментируйте если хотите перезагружать чат автоматом
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:16 | Сообщение # 26 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| новый +все Code /** * X-статусы: просмотр списка пользователей во всём чате + x-статус + реклама из файла * (c) Indigo_85 - основа, AssassinS- модификация, fraer72-помощь */
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("+все","",39,name)); cmd.addCommand("+аа", new Cmd("+аа","",39,name)); cmd.addCommand("+аа", new Cmd("+все","",39,name)); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
try{ int room = cmd.srv.us.getUser(uin).room; String s = "Список чуваков в чате:\n\n[ID] - Ник [Статус] [Комната]\n";
cmd.srv.us.getRoom(room).getTopic() + "\nСписок пользователей в чате:\n[ID] - Ник [Статус] [Комната]\n"; String d = "]"; String z = "["; Enumeration e = cmd.srv.cq.uq.keys(); int cnt=0; if(cmd.psp.getBooleanProperty("adm.useAdmin")) s += "[0] - " + cmd.radm.NICK + '\n'; while(e.hasMoreElements()){ String i = e.nextElement(); Users us = cmd.srv.us.getUser(i); if(us.state==UserWork.STATE_CHAT) cnt++; String ss = ""; File Persona = new File ("./UXstatus/"+us.id+".txt"); if (Persona.exists()){ ss += " [" + cmd.psp.loadText("./UXstatus/"+us.id+".txt"); ss=ss.replace('\n',']'); } s += z + us.id + "] - " + us.localnick + ss + " ["+ us.room + "]" + "\n"; } s += "\nВсего пользователей в чате: ["+cnt + d; s += "\nВсего за сегодня зашло чуваков в чат: [" + cmd.srv.us.statUsersCount() + d; s += "\nВсего зарегано чуваков: ["+Integer.toString(cmd.srv.us.count()) + d; s += "\n"; s += "\n";
s += cmd.psp.loadText("./text/ads.txt") + "\n"; proc.mq.add(uin, s);
} catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:17 | Сообщение # 27 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт для просмотра кто в тюрьме Code import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*; import ru.jimbot.Manager; import java.sql.*;
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!втюрьме", new Cmd("!втюрьме","",39,name)); // cmd.addAuth("ModList","Получить список админов"); out="Ok"; return; }
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; //if(!cmd.auth(proc,uin, "ModList")) return; try{ Vector v = cmd.getParser().parseArgs(msg); String host = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.host"); String namedb = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.dbname"); String user = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.user"); String pass = ChatProps.getInstance(cmd.srv.getName()).getStringProperty("db.pass"); DBChat db; db = new DBChat(cmd.srv.getName()); db.openConnection(host, namedb, user, pass); String s = "Зеки:\n"; try { PreparedStatement pst = db.getDb().prepareStatement("SELECT `id` FROM `users` WHERE `room`='-1' "); ResultSet rs = pst.executeQuery(); while(rs.next()){ Users us = cmd.srv.us.getUser(rs.getInt(1)); s +=us.id +" - " + us.localnick+"\n"; } rs.close(); pst.close(); } catch (Exception ex) { ex.printStackTrace(); } proc.mq.add(uin,s); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:17 | Сообщение # 28 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт для просмотра гороскопа в чате Code /** * Выводим RSS Ленту (Гороскоп) * Masterzx */
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("!гороскоп","$n",39,name)); // Создаем новую команду cmd.addAuth("goroskop","Гороскоп..."); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "goroskop")) return; // Проверка полномочия (если необходимо)
try{ //long time = System.currentTimeMillis(); Vector v = cmd.getParser().parseArgs(msg); int i1 = (Integer)v.get(0); int i2 = 0; String s="";
if(i1==0 || i1>=14){ //proc.mq.add(uin,"Список городов с цифровыми обозначениями:\n");//Сори конечно но //зато теперь всем известно откуда часть скрипта)))) s = cmd.psp.loadText("./text/гороскоп.txt"); String[] ss = s.split("<br>"); for(int i=0;i<ss.length;i++){ proc.mq.add(uin,ss[i]); } return; } if(i1==1){i1=2;i2=2;}else if(i1==2){i1=3;i2=3;}else{i2=i1=i1+1;} String s=""; s = MainProps.getStringFromHTTP("http://www.hyrax.ru/cgi-bin/bn_xml.cgi"); String[] ss = s.split("<title>"); String[] ss1 = s.split("<description>"); ss = ss[i1].split("</title>"); ss1 = ss1[i2].split("</description>"); proc.mq.add(uin,"Ежедневный общий гороскоп:\n"+ss[0] + "\n" + ss1[0]); if(i1==2){return;}else {i2=i1=i1-1;} String s=""; s = MainProps.getStringFromHTTP("http://www.hyrax.ru/cgi-bin/love_xml.cgi"); ss = s.split("<title>"); ss1 = s.split("<description>"); ss = ss[i1].split("</title>"); ss1 = ss1[i2].split("</description>"); proc.mq.add(uin,"Ежедневный любовный гороскоп:\n"+ss[0] + "\n" + ss1[0]); String s=""; s = MainProps.getStringFromHTTP("http://www.hyrax.ru/cgi-bin/mob_xml.cgi"); ss = s.split("<title>"); ss1 = s.split("<description>"); ss = ss[i1].split("</title>"); ss1 = ss1[i2].split("</description>"); proc.mq.add(uin,"Ежедневный мобильный гороскоп:\n" + ss[0] + "\n" + ss1[0]); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:18 | Сообщение # 29 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| мои скрипт который я сам написал Code /** * Скрипт для вывода случайного секретного текста из файла переделал мастер * Imda */
/** * При вызове скрипта определены следующие переменные: * ChatCommandProc cmd - ссылка на обработчик команд * IcqProtocol proc - ссылка на процесс обработки icq * String msg - текст сообщения с командой * String uin - кто отправил сообщение * String name - имя этого файла (при процедуре инсталяции скрипта) */
import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*; import java.util.Random;
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!секрет", new Cmd("!секрет","$s",39,name)); cmd.addAuth("Anek","Сервис анекдотов"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "Anek")) return;
try { //Считываем анекдоты String s = cmd.psp.loadText("./text/secret.txt"); String[] ss = s.split("<end>"); int R = (int) ((Math.random()*ss.length));
proc.mq.add(uin,"Секретные команды!>> \n"+ss[R]); } catch (Exception ex) { ex.printStackTrace(); Log.talk("Error save msg: " + ex.getMessage()); proc.mq.add(uin,"Обшибка " + ex.getMessage()); } как поставите его в чат и в чате наберите команду !секрет и сами все поймете не забудьте пережагрузить чат
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:20 | Сообщение # 30 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| новый выход из чата Code 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("!вых","",39,name)); cmd.addCommand("!выход", new Cmd("!выход","",39,name)); cmd.addCommand("!в", new Cmd("!в","",39,name)); cmd.addCommand("!exit", new Cmd("!exit","",39,name)); out="Ok"; return; }
try{ String MESSAGE = " Зачем вы уходите от нас? *BYE* Возвращайтесь поскорее =),а и ещё РАЗДАЙ НОМЕР ЧАТА СВОИМ ДРУЗЬЯМ!>5816-53-007<"; String MESSAGE2 = " Убежал(а) от нас *BYE*"; String MESSAGE3 = "["; String MESSAGE4 = "] "; Users uss = cmd.srv.us.getUser(uin); if(uss.room==7){ proc.mq.add(uin,"НУ-НУ с тюрьмы сбежать захотел? хрен тебе!!!"); return; } if (uss.state==UserWork.STATE_CHAT || uss.state==UserWork.STATE_OFFLINE) { if(!ChatProps.getInstance(cmd.srv.getName()).getBooleanProperty("chat.NoDelContactList")){ Log.info("Delete contact " + uin); proc.RemoveContactList(uin); } } else return; // Юзера нет в чате - игнорируем команду uss.state = UserWork.STATE_NO_CHAT; cmd.srv.us.updateUser(uss); Log.talk(MESSAGE3 + uss.id + MESSAGE4 + uss.localnick + MESSAGE2); cmd.srv.us.db.log(uss.id,uin,"STATE_OUT",uss.localnick + MESSAGE2,uss.room); cmd.srv.us.db.event(uss.id, uin, "STATE_OUT", 0, "", uss.localnick + " убежал(а) с чата!"); cmd.srv.cq.addMsg(MESSAGE3 + uss.id + MESSAGE4 + uss.localnick + MESSAGE2, uss.sn, uss.room); proc.mq.add(uin, uss.localnick + MESSAGE); cmd.srv.cq.delUser(uin); } catch (Exception ex){ ex.printStackTrace(); proc.mq.add(uin,ex.getMessage()); }
|
|
| |