Скрипт для сообщений во все комнаты
/* * Скрипт предназначен для отправки сообщения во все комнаты * Сообщение добавляется в общую очередь чата в виде "SYSTEM MESSAGE: текст вашего сообщения" * * Пример использование команды: "!send Уважаемые пользователи, кто хочет стать модератором, наберите !выход" * (c) Sushka 2009 */
import ru.jimbot.modules.AbstractServer; import ru.jimbot.util.*; import ru.jimbot.modules.chat.*; import ru.jimbot.modules.*;
if(in.equals("install")){ //!send - название команды, при желании можно изменить на свое cmd.addCommand("!вовсе", new Cmd("!вовсе","$s",39,name)); cmd.addAuth("allroom_message","Сообщение во все комнаты"); out="Ok"; return; }
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "allroom_message")) return;
try{ Vector v = cmd.getParser().parseArgs(msg); String smsg = (String)v.get(0);
if(smsg.equals("")||smsg.equals(" "))return;
Set rid = new HashSet();
Enumeration e = cmd.srv.cq.uq.keys(); while(e.hasMoreElements()){ String i = e.nextElement(); Users us = cmd.srv.us.getUser(i); if(us.state==UserWork.STATE_CHAT) rid.add(us.room); }
for (int i:rid){ //если SYSTEM MESSAGE не устраивает- меняем на свое. cmd.srv.cq.addMsg("\nSYSTEM MESSAGE: "+ smsg+"\n", uin, i); }
proc.mq.add(uin,"Сообщение отправленно"); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|