скрипты для jimbot 0.4.0 от спека
|
|
tashanov93 | Дата: Суббота, 17.10.2009, 22:26 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| Сюда выкладывайте скрипты для этой версии!я выложил скрипты какие есть у меня и не стал писать инструкцию по установке там что если у вас скрипт пишит ошибку или не отвечает или еще что то то пишите в теме поддержка бота я вам отвечу и скажу что надо делать и еще! как поставите скрипт он будет работать только после выключения и включения бота(чата)!
|
|
| |
tashanov93 | Дата: Воскресенье, 18.10.2009, 15:11 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| Вот скрипты мои: все скрипты надо записывать под любым названием в формате .bsh и ложить в папку commands и так вот мои скрипты
|
|
| |
tashanov93 | Дата: Воскресенье, 18.10.2009, 15:12 | Сообщение # 3 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт для сообщения во все комнаты Code /* * Скрипт предназначен для отправки сообщения во все комнаты * Сообщение добавляется в общую очередь чата в виде "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()); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:46 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 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("!н", new Cmd("!н","",39,name)); cmd.addCommand("!нов", new Cmd("!нов","",39,name)); cmd.addCommand("!новости", new Cmd("!новости","",39,name)); cmd.addCommand("!news", new Cmd("!news","",39,name)); cmd.addAuth("News","Вывод новостей"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "News")) return;
try{ String s = cmd.psp.loadText("./news.txt"); String[] ss = s.split("<br>"); for(int i=0;i<ss.length;i++){ proc.mq.add(uin,ss[i]); } } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:46 | Сообщение # 5 |
Генералиссимус
Группа: Администраторы
Сообщений: 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("!новновости", new Cmd("!новновости","$s",39,name)); cmd.addAuth("MakeNews","Создание новости"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "MakeNews")) return;
try { Vector v = cmd.getParser().parseArgs(msg); String sn = (String)v.get(0); java.sql.Time T = new java.sql.Time(new java.util.Date().getTime()); java.sql.Date D = new java.sql.Date(new java.util.Date().getTime()); OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./news.txt",true),"windows-1251"); String s = "[" + D +" "+ T + "] " + "\n" + sn + "\n\n"; ow.write(s); ow.close();
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){ cmd.srv.cq.addMsg("Новость> "+ sn , uin, i); } Log.talk("Новость создана: " + sn); proc.mq.add(uin,"Новость успешно создана и разослана: \n"+sn); } catch (Exception ex) { ex.printStackTrace(); Log.talk("Error save msg: " + ex.getMessage()); proc.mq.add(uin,"Ошибка добавления"); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:47 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 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("!законы", new Cmd("!законы","",39,name)); cmd.addAuth("txtread","Вывод текстового файла"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "txtread")) return;
try{ //Прочитаем текст из файла String s = cmd.psp.loadText("./text/rules1.txt"); //Разбиваем текст на куски, в качестве разделителя будет использовате тег <br> String[] ss = s.split("<br>"); //По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь //исходящих сообщений уина, на котоором этот юзер сидит. for(int i=0;i<ss.length;i++){ proc.mq.add(uin,ss[i]); } } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:47 | Сообщение # 7 |
Генералиссимус
Группа: Администраторы
Сообщений: 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("!бан","$c $s ",39,name)); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "ban")) return;
try{ Vector v = cmd.getParser().parseArgs(msg); String s = (String)v.get(0); String m = (String)v.get(1); String i=""; if(s.length()>=6){ if(uin.equals(s)){ proc.mq.add(uin,"Нельзя отправить в баню самого себя :)"); return; } if (cmd.psp.testAdmin(s)){ proc.mq.add(uin,"Ты не можешь забанить админа чата*FUCK*!"); return; } if(m.equals("")){ proc.mq.add(uin,"Необходимо добавить причину бана"); return; } cmd.ban(proc, s, uin,m); } else { int id = 0; try { id = Integer.parseInt(s); } catch(Exception ex) { proc.mq.add(uin,"Ошибка в команде"); return; } i = cmd.srv.us.getUser(id).sn; if(!i.equals("")) { if(uin.equals(i)){ proc.mq.add(uin,"Нельзя отправить в баню самого себя :)"); return; } if (cmd.psp.testAdmin(i)){ proc.mq.add(uin,"Ты не можешь забанить админа чата*FUCK*!бан!"); return; } if(m.equals("")){ proc.mq.add(uin,"Необходимо добавить причину бана"); return; } cmd.ban(proc, i, uin,m); } } proc.mq.add(uin,"Пользователь " + i + " успешно отправлен в баню"); cmd.srv.cq.addMsg(cmd.srv.us.getUser(i).localnick + " был забанен,из-за нарушения правил! причина: "+m, i, cmd.srv.us.getUser(i).room); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:47 | Сообщение # 8 |
Генералиссимус
Группа: Администраторы
Сообщений: 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.*;
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!уднов", new Cmd("!уднов","",39,name)); cmd.addAuth("DelNews","Удаление новостей"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "DelNews")) return;
try { //Создади OutputStreamWriter которым будем писать в бак-копию=) OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./archive/newsbak",true),"windows-1251"); //Объявим файл с новостями File news = new File ("./news.txt"); if (news.exists()) //Проверка на наличие файла с новостями { //Подгрузим все новости которых еще нет в архиве, т.е. !ВЕСЬ! файл новостей //Пишем новости в файл и закрываем OutputStreamWriter String s = cmd.psp.loadText("./news.txt"); ow.write(s); ow.close(); //ЕСЛИ НЕ НУЖНО- ЗАКАММЕНТИРУЙТЕ! (очищение файла новостей) //Если закамментировано, то быть осторожным с коммандой очистки, чтобы не было дупликатов новостей) news.delete(); OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("./news.txt",true),"windows-1251"); osw.write(""); osw.close(); proc.mq.add(uin,"Новости отправлены в архив"); Log.talk("Новости отправлены в архив"); } else proc.mq.add(uin,"Нет новостей"); } catch (Exception ex) { ex.printStackTrace(); Log.talk("Error save msg: " + ex.getMessage()); proc.mq.add(uin,"Ошибка удаления"); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:48 | Сообщение # 9 |
Генералиссимус
Группа: Администраторы
Сообщений: 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("!инфбут", new Cmd("!инфбут","",39,name)); cmd.addAuth("yslygi","Вывод списка услуг"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "txtread")) return;
try{ //Прочитаем текст из файла String s = cmd.psp.loadText("./text/yslugi.txt"); //Разбиваем текст на куски, в качестве разделителя будет использовате тег <br> String[] ss = s.split("<br>"); //По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь //исходящих сообщений уина, на котоором этот юзер сидит. for(int i=0;i<ss.length;i++){ proc.mq.add(uin,ss[i]); } } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:48 | Сообщение # 10 |
Генералиссимус
Группа: Администраторы
Сообщений: 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("!инфрул", new Cmd("!инфрул","",39,name)); cmd.addAuth("txtread","Вывод текстового файла"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "txtread")) return;
try{ //Прочитаем текст из файла String s = cmd.psp.loadText("./text/rusrulet.txt"); //Разбиваем текст на куски, в качестве разделителя будет использовате тег <br> String[] ss = s.split("<br>"); //По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь //исходящих сообщений уина, на котоором этот юзер сидит. for(int i=0;i<ss.length;i++){ proc.mq.add(uin,ss[i]); } } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:49 | Сообщение # 11 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт жалоб Code /** * Скрипт для добавления жалоб * !жалоба <id> <text> */
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 $s",39,name)); cmd.addAuth("Galoba","Жалоба на юзера"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "Galoba")) return;
try{ Vector v = cmd.getParser().parseArgs(msg); int i = (Integer)v.get(0); String pt = (String)v.get(1); Users u = cmd.srv.us.getUser(i); Users us = cmd.srv.us.getUser(uin); OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./pet/"+u.id,true),"windows-1251"); java.sql.Date D = new java.sql.Date(new java.util.Date().getTime()); ow.write(D+" ["+us.id+"]"+us.localnick+":"+pt+"\n"); ow.close(); proc.mq.add(uin,"Жалоба сохранена и будет рассмотрена"); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:49 | Сообщение # 12 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт просмотр жалоб Code /** * Просмотр жалоб. * !жалобы - количество жалоб, табличко * !жалобы <id> - жалобы на юзера * 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("!жалобы","$s",39,name)); cmd.addAuth("Galobs","Список жалоб"); out="Ok"; return; } if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "Galobs")) return; try{ Vector v = cmd.getParser().parseArgs(msg); String smsg = (String)v.get(0); String l; if(smsg.equals("")||smsg.equals(" ")) { File pets = new File ("./pet/"); String[] fl = pets.list(); //Список файлов fl l = "Жалобы:\n"; //Начало отчета l l += "U.id - Pet.Amnt:"+"\n"; //Добавили в строку ИД, петиции (Заглавие таблицы) for(int i=0;i<fl.length;i++) //Пробегаем все файлы fl[i] { // String ffl = cmd.psp.loadText("./pet/"+fl[i]); //Читаем файл String[] sffl = ffl.split("\n"); //Бьем на строки l+=fl[i]+" - "+sffl.length+"\n"; //Вписываем в отчет данные }
} else { String pl = "./pet/"+smsg; File g = new File (pl); if (g.exists()){ String s = cmd.psp.loadText("./pet/"+smsg); l="Жалобы на юзера ["+smsg+"]\n"; Users u = cmd.srv.us.getUser(smsg); l+=s; } else { l="Жалоб нет"; } } proc.mq.add(uin,l); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:49 | Сообщение # 13 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| скрипт смены х-стутуса Code /** * Скрипт для смены Х-статусов * Imda * x-статус (0-34): * Нет = 0; * Злой= 1; * Купаюсь = 2; * Устал = 3; * Вечеринка = 4; * Пиво = 5; * Думаю = 6; * Кушаю = 7; * ТВ = 8; * Друзья = 9; * Кофе = 10; * Слушаю музыку = 11; * Дела = 12; * Кино= 13; * Весело = 14; * Телефон = 15; * Играю = 16; * Учусь = 17; * Магазины = 18; * Болею = 19; * Сплю = 20; * Отрываюсь = 21; * Интернет = 22; * Работаю = 23; * Печатаю = 24; * Пикник = 25; * Готовлю = 26; * Курю = 27; * Релакс= 28; * Туалет = 29; * Вопрос = 30; * Дорога = 31; * Любовь = 32; * Поиск = 33; * Дневник = 34; */
/** * При вызове скрипта определены следующие переменные: * 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("!хстатус", new Cmd("!хстатус","$n",39,name)); cmd.addCommand("!xstatus", new Cmd("!xstatus","$n",39,name)); cmd.addCommand("!х-статус", new Cmd("!х-статус","$n",39,name)); cmd.addCommand("!х", new Cmd("!х","$n",39,name)); out="Ok"; return; }
// Проверим полномочия if (cmd.psp.testAdmin(uin))
try{ Vector v = cmd.getParser().parseArgs(msg); int xs = (Integer)v.get(0); if ((xs>34) || (xs<0)) return; ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.xstatus",xs); proc.mq.add(uin,"X-Status изменен, нужен перезапуск"); // Manager.restart(); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); } else{ proc.mq.add(uin,"Вы не имеете доступа к данной команде!"); }
|
|
| |
tashanov93 | Дата: Вторник, 20.10.2009, 14:49 | Сообщение # 14 |
Генералиссимус
Группа: Администраторы
Сообщений: 113
Статус: Offline
| рестарт чата Code /** * Скрипт перезапуска основной части бота * (с)Bess * положить в папку command * команда !рестарт */
/** * При вызове скрипта определены следующие переменные: * 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 ru.jimbot.Manager;
//Установка скрипта как обработчика команды if(in.equals("install")){ cmd.addCommand("!рестарт", new Cmd("!рестарт","",39,name)); cmd.addCommand("!перезагрузка", new Cmd("!перезагрузка","",39,name)); cmd.addAuth("alluser","Список в чате"); out="Ok"; return; }
// Проверим полномочия if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; if(!cmd.auth(proc,uin, "restart")) return;
try{ String i = "Пожалуйста подождите..."; proc.mq.add(uin,i); Manager.restart(); } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,"Ошибка "+ex.getMessage()); }
|
|
| |
tashanov93 | Дата: Суббота, 24.10.2009, 02:11 | Сообщение # 15 |
Генералиссимус
Группа: Администраторы
Сообщений: 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("!chat", new Cmd("!chat","",39,name)); cmd.addCommand("!ч", new Cmd("!чат","",39,name)); cmd.addCommand("!вход", new Cmd("!вход","",39,name)); cmd.addCommand("!enter", new Cmd("!enter","",39,name)); // cmd.addAuth("room","Переход по комнатам"); out="Ok"; return; }
// Проверим полномочия //if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return; //if(!cmd.auth(proc,uin, "roomgo")) return; try{ String MESSAGE = "Добро пожаловать!\n" + "Приятного Вам общения :)\n" + "Ваш ID = " ; String MESSAGE2 = " вошел(вошла) в чат"; String MESSAGE3 = "["; String MESSAGE4 = "]"; Users uss = cmd.srv.us.getUser(uin); boolean f = false; if(uss.localnick==null || uss.localnick.equals("") || uss.state==UserWork.STATE_NO_REG) { proc.mq.add(uin, "Прежде чем войти в чат, необходимо зарегистрироваться."); return; } if (uss.state==UserWork.STATE_CHAT) return; //Юзер уже в чате if (uss.state==UserWork.STATE_NO_CHAT) { Log.info("Add contact " + uin); if(proc.isNoAuthUin(uin)) proc.mq.add(uin, "Чтобы бот видел ваш статус - авторизуйте его", 2); proc.addContactList(uin); uss.state = UserWork.STATE_CHAT; uss.basesn = proc.baseUin; cmd.srv.us.updateUser(uss); cmd.srv.cq.addMsg(MESSAGE3 + uss.id + MESSAGE4 + uss.localnick + MESSAGE2, uss.sn, uss.room); proc.mq.add(uin,MESSAGE + uss.id); f = true; } if (uss.state==UserWork.STATE_OFFLINE) { uss.state = UserWork.STATE_CHAT; uss.basesn = proc.baseUin; cmd.srv.us.updateUser(uss); proc.mq.add(uin,MESSAGE + uss.id); if(cmd.psp.getBooleanProperty("chat.showChangeUserStatus")) cmd.srv.cq.addMsg(MESSAGE3 + uss.id + MESSAGE4 + uss.localnick + MESSAGE2, uss.sn, uss.room); } Log.talk(uss.localnick + MESSAGE2); cmd.srv.us.db.log(uss.id,uin,"STATE_IN",uss.localnick + MESSAGE2,uss.room); cmd.srv.us.db.event(uss.id, uin, "STATE_IN", 0,"",MESSAGE3 + uss.id +MESSAGE4 + uss.localnick + MESSAGE2); cmd.srv.cq.addUser(uin,proc.baseUin, uss.room); if(f){ File acu = new File ("./AutoUin.txt"); if (!acu.exists()) { if(cmd.srv.us.getCurrUinUsers(uss.basesn)>cmd.psp.getIntProperty("chat.maxUserOnUin")){ proc.mq.add(uin,"Данный номер слишком загружен, вы будете автоматически переведены на ближайший свободный номер."); String s = cmd.srv.us.getFreeUin(); uss.basesn = s; cmd.srv.us.updateUser(uss); cmd.srv.cq.changeUser(uin, s); proc.mq.add(uin,"Сообщения теперь будут приходить с номера " + s); } } else { proc.mq.add(uin,"Вы будете автоматически переведены на ближайший свободный номер."); String s = cmd.srv.us.getFreeUin(); uss.basesn = s; cmd.srv.us.updateUser(uss); cmd.srv.cq.changeUser(uin, s); proc.mq.add(uin,"Сообщения теперь будут приходить с номера " + s); } } } catch (Exception ex) { ex.printStackTrace(); proc.mq.add(uin,ex.getMessage()); }
|
|
| |