Главная Форум Файлы Статьи
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Скрипты для версии 0.4.0
ShuriK Дата: Среда, 16.02.2011, 15:37 | Сообщение # 1
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Выкладывайте скрипты для этой версии! Я выложил скрипты какие есть у меня и не стал писать инструкцию по установке там что если у вас скрипт пишит ошибку или не отвечает или еще что то то пишите в теме поддержка бота я вам отвечу и скажу что надо делать и еще!
Как поставите скрипт он будет работать только после выключения и включения бота(чата)
Все скрипты надо записывать под любым названием в формате .bsh и ложить в папку commands.


 
СообщениеВыкладывайте скрипты для этой версии! Я выложил скрипты какие есть у меня и не стал писать инструкцию по установке там что если у вас скрипт пишит ошибку или не отвечает или еще что то то пишите в теме поддержка бота я вам отвечу и скажу что надо делать и еще!
Как поставите скрипт он будет работать только после выключения и включения бота(чата)
Все скрипты надо записывать под любым названием в формате .bsh и ложить в папку commands.

Автор - ShuriK
Дата добавления - 16.02.2011 в 15:37
ShuriK Дата: Среда, 16.02.2011, 15:38 | Сообщение # 2
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Скрипт для сообщений во все комнаты:
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());    
}

Новости:
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());    
}

Добавление новостей:
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,"Ошибка добавления");    
}

Правила командой !законы
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());    
}

Бан
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());    
}[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,"Ошибка удаления");
}


 
СообщениеСкрипт для сообщений во все комнаты:
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());    
}

Новости:
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());    
}

Добавление новостей:
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,"Ошибка добавления");    
}

Правила командой !законы
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());    
}

Бан
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());    
}[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,"Ошибка удаления");
}

Автор - ShuriK
Дата добавления - 16.02.2011 в 15:38
ShuriK Дата: Среда, 16.02.2011, 15:38 | Сообщение # 3
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Анекдоты:
Code
/**   
* Скрипт для вывода случайного анекдота с anekdotov.net   
* Masterzx   
*/   

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.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 {   
int R = (int) ((Math.random()*100));   
String s =  MainProps.getStringFromHTTP("http://anekdotov.net/anekdot/random/" + R + ".html?");    
String[] ss = s.split("</td>");   
ss = ss[3].split("'>");   
ss = ss[1].split("<INPUT type");   
ss[0] = ss[0].replace("<BR>","");    
ss[0] = ss[0].replace("<br>","");    
proc.mq.add(uin,ss [0]);    
} catch (Exception ex) {   
      ex.printStackTrace();   
      Log.talk("Error save msg: " + ex.getMessage());   
      proc.mq.add(uin,"Обшибка " + ex.getMessage());   
}

Жалобы

Подача жалобы:

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());   
}

Просмотр жалоб:
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());   
      }

Смена хстатуса чата:

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,"Вы не имеете доступа к данной команде!");   
}


 
СообщениеАнекдоты:
Code
/**   
* Скрипт для вывода случайного анекдота с anekdotov.net   
* Masterzx   
*/   

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.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 {   
int R = (int) ((Math.random()*100));   
String s =  MainProps.getStringFromHTTP("http://anekdotov.net/anekdot/random/" + R + ".html?");    
String[] ss = s.split("</td>");   
ss = ss[3].split("'>");   
ss = ss[1].split("<INPUT type");   
ss[0] = ss[0].replace("<BR>","");    
ss[0] = ss[0].replace("<br>","");    
proc.mq.add(uin,ss [0]);    
} catch (Exception ex) {   
      ex.printStackTrace();   
      Log.talk("Error save msg: " + ex.getMessage());   
      proc.mq.add(uin,"Обшибка " + ex.getMessage());   
}

Жалобы

Подача жалобы:

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());   
}

Просмотр жалоб:
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());   
      }

Смена хстатуса чата:

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,"Вы не имеете доступа к данной команде!");   
}

Автор - ShuriK
Дата добавления - 16.02.2011 в 15:38
ShuriK Дата: Среда, 16.02.2011, 15:39 | Сообщение # 4
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Рестарт чата:
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());   
}

Вход в чат:
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());   
           }

Кто в баньке:
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());   
}

Список комнат, с кол-м юзеров в скобульках
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());   
}

Переход по комнатам:

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());   
}

Отправка + переправка гл.админам лс

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());   
}


 
СообщениеРестарт чата:
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());   
}

Вход в чат:
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());   
           }

Кто в баньке:
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());   
}

Список комнат, с кол-м юзеров в скобульках
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());   
}

Переход по комнатам:

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());   
}

Отправка + переправка гл.админам лс

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());   
}

Автор - ShuriK
Дата добавления - 16.02.2011 в 15:39
ShuriK Дата: Среда, 16.02.2011, 15:40 | Сообщение # 5
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Свадьба:
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());   
}

Развод:
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());   
}

Статистика:

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());   
}

Прогноз погоды:

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());   
}


 
СообщениеСвадьба:
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());   
}

Развод:
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());   
}

Статистика:

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());   
}

Прогноз погоды:

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());   
}

Автор - ShuriK
Дата добавления - 16.02.2011 в 15:40
ShuriK Дата: Среда, 16.02.2011, 15:40 | Сообщение # 6
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Смена текста хстатуса:
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();

Удаление комнат:
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();*/  //раскоментируйте если хотите перезагружать чат автоматом

Новый +все
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());   
}

Зеки:
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());   
}


 
СообщениеСмена текста хстатуса:
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();

Удаление комнат:
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();*/  //раскоментируйте если хотите перезагружать чат автоматом

Новый +все
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());   
}

Зеки:
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());   
}

Автор - ShuriK
Дата добавления - 16.02.2011 в 15:40
ShuriK Дата: Среда, 16.02.2011, 15:41 | Сообщение # 7
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Новый выход из чата:
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());   
}

Перевод в др.комнату:
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("!перевод","$n $n",39,name));   
    cmd.addAuth("banroom","Запереть юзера в комнате!!!");   
    out="Ok";   
    return;   
}   

// Проверим полномочия   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.auth(proc,uin, "banroom")) 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);    
    // Проверяем есть ли такой юзер ваще?   
    if(u.id==0){   
     proc.mq.add(uin,"Пользователь не найден");   
     return;   
    }   
    if(u.state!=UserWork.STATE_CHAT){   
     proc.mq.add(uin,"Этого пользователя нет в чате.");   
     return;   
    }   
    // Переводим в комнату   
    if(u.room==i2){   
     proc.mq.add(uin,"Пользователь уже сидит в этой комнате");   
     return;   
     } else {   
      u.room=i2;   
      cmd.srv.us.updateUser(u);   
      cmd.srv.cq.changeUserRoom(u.sn, i2);   
      // Оповещаем целевую комнату   
      cmd.srv.cq.addMsg(u.localnick + " вошел в комнату " + u.room, u.sn, u.room);   
      // Оповещаем юзера   
      cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"Тебя насильно перетащили в комнату  " + i2);   
      // Лишаем юзера прав на комнаты   
         
     }   
    // Сообщаем об успешном выполнении команды   
    proc.mq.add(uin,"Пользователь " + u.localnick + " успешно перетащен в комнату " + i2);   
} catch (Exception ex) {   
       ex.printStackTrace();   
       proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Moders online:
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.addAuth("ModList","Получить список модеров");   
out="Ok";   
return;   
}   

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.auth(proc,uin, "ModList")) return;   

try{   
String lst = "";   
Enumeration e = cmd.srv.cq.uq.keys();   
while(e.hasMoreElements()){   
      String i = e.nextElement();   
      Users us = cmd.srv.us.getUser(i);   
      if (cmd.srv.us.getUserGroup(us.id).equals("moder")) {   
         lst = lst + us.id+" - "+us.localnick+" , ["+us.room+"]"+cmd.srv.us.getRoom(us.room).getName()+"; \n";   
      }   
}   
proc.mq.add(uin,"Модеры:\n "+lst);   
} catch (Exception ex) {   
      ex.printStackTrace();   
      proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Admins online:
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.addAuth("AdmList","Получить список админов");   
out="Ok";   
return;   
}   

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.auth(proc,uin, "AdmList")) return;   

try{   
String lst = "";   
Enumeration e = cmd.srv.cq.uq.keys();   
while(e.hasMoreElements()){   
      String i = e.nextElement();   
      Users us = cmd.srv.us.getUser(i);   
      if (cmd.srv.us.getUserGroup(us.id).equals("admin")) {   
         lst = lst + us.id+" - "+us.localnick+" , ["+us.room+"]"+cmd.srv.us.getRoom(us.room).getName()+"; \n";   
      }   
}   
proc.mq.add(uin,"Админы:\n "+lst);   
} catch (Exception ex) {   
      ex.printStackTrace();   
      proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Предложения чату:
Code
/**   
* Скрипт для добавления в TODO   
* 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("!надо","$s",39,name));   
      cmd.addAuth("mktodo","Добавление в ТОДО");   
      out="Ok";   
      return;   
}   

// Проверим полномочия   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.auth(proc,uin, "mktodo")) 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("./надо.txt",true),"windows-1251");   
      String s = "[" + D +" "+ T + "] "  + "\n" + sn + "\n\n";   
      ow.write(s);   
      ow.close();   
      Log.talk("TODO: " + sn);   
      proc.mq.add(uin,"Ваша предложение принято и будет рассмотрено Администратором чата \n"+sn);   
} catch (Exception ex) {   
      ex.printStackTrace();   
      Log.talk("Error save msg: " + ex.getMessage());   
      proc.mq.add(uin,"Ошибка добавления");   
}

20 последних разбанов:
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("!ubanlist","",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());   
}


 
СообщениеНовый выход из чата:
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());   
}

Перевод в др.комнату:
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("!перевод","$n $n",39,name));   
    cmd.addAuth("banroom","Запереть юзера в комнате!!!");   
    out="Ok";   
    return;   
}   

// Проверим полномочия   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.auth(proc,uin, "banroom")) 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);    
    // Проверяем есть ли такой юзер ваще?   
    if(u.id==0){   
     proc.mq.add(uin,"Пользователь не найден");   
     return;   
    }   
    if(u.state!=UserWork.STATE_CHAT){   
     proc.mq.add(uin,"Этого пользователя нет в чате.");   
     return;   
    }   
    // Переводим в комнату   
    if(u.room==i2){   
     proc.mq.add(uin,"Пользователь уже сидит в этой комнате");   
     return;   
     } else {   
      u.room=i2;   
      cmd.srv.us.updateUser(u);   
      cmd.srv.cq.changeUserRoom(u.sn, i2);   
      // Оповещаем целевую комнату   
      cmd.srv.cq.addMsg(u.localnick + " вошел в комнату " + u.room, u.sn, u.room);   
      // Оповещаем юзера   
      cmd.srv.getIcqProcess(u.basesn).mq.add(u.sn,"Тебя насильно перетащили в комнату  " + i2);   
      // Лишаем юзера прав на комнаты   
         
     }   
    // Сообщаем об успешном выполнении команды   
    proc.mq.add(uin,"Пользователь " + u.localnick + " успешно перетащен в комнату " + i2);   
} catch (Exception ex) {   
       ex.printStackTrace();   
       proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Moders online:
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.addAuth("ModList","Получить список модеров");   
out="Ok";   
return;   
}   

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.auth(proc,uin, "ModList")) return;   

try{   
String lst = "";   
Enumeration e = cmd.srv.cq.uq.keys();   
while(e.hasMoreElements()){   
      String i = e.nextElement();   
      Users us = cmd.srv.us.getUser(i);   
      if (cmd.srv.us.getUserGroup(us.id).equals("moder")) {   
         lst = lst + us.id+" - "+us.localnick+" , ["+us.room+"]"+cmd.srv.us.getRoom(us.room).getName()+"; \n";   
      }   
}   
proc.mq.add(uin,"Модеры:\n "+lst);   
} catch (Exception ex) {   
      ex.printStackTrace();   
      proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Admins online:
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.addAuth("AdmList","Получить список админов");   
out="Ok";   
return;   
}   

if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.auth(proc,uin, "AdmList")) return;   

try{   
String lst = "";   
Enumeration e = cmd.srv.cq.uq.keys();   
while(e.hasMoreElements()){   
      String i = e.nextElement();   
      Users us = cmd.srv.us.getUser(i);   
      if (cmd.srv.us.getUserGroup(us.id).equals("admin")) {   
         lst = lst + us.id+" - "+us.localnick+" , ["+us.room+"]"+cmd.srv.us.getRoom(us.room).getName()+"; \n";   
      }   
}   
proc.mq.add(uin,"Админы:\n "+lst);   
} catch (Exception ex) {   
      ex.printStackTrace();   
      proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Предложения чату:
Code
/**   
* Скрипт для добавления в TODO   
* 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("!надо","$s",39,name));   
      cmd.addAuth("mktodo","Добавление в ТОДО");   
      out="Ok";   
      return;   
}   

// Проверим полномочия   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.auth(proc,uin, "mktodo")) 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("./надо.txt",true),"windows-1251");   
      String s = "[" + D +" "+ T + "] "  + "\n" + sn + "\n\n";   
      ow.write(s);   
      ow.close();   
      Log.talk("TODO: " + sn);   
      proc.mq.add(uin,"Ваша предложение принято и будет рассмотрено Администратором чата \n"+sn);   
} catch (Exception ex) {   
      ex.printStackTrace();   
      Log.talk("Error save msg: " + ex.getMessage());   
      proc.mq.add(uin,"Ошибка добавления");   
}

20 последних разбанов:
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("!ubanlist","",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());   
}

Автор - ShuriK
Дата добавления - 16.02.2011 в 15:41
ShuriK Дата: Среда, 16.02.2011, 15:42 | Сообщение # 8
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Игры "бомба":
Code
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("game","возможность играть");   
      out="Ok";   
      return;   
}   
if(!cmd.isChat(proc,uin)) return;   
try{                
Vector v = cmd.getParser().parseArgs(msg);   
Users uss = cmd.srv.us.getUser(uin);   
String cvet = (String)v.get(0);       
int t = (int) ((Math.random()*3));   
if(uss.room!=7){   
proc.mq.add(uin,"Перейди в комнату |7| - " + cmd.srv.us.getRoom(7).getName() + "");   
return;   
}   
String s ="красный;синий;черный";   
String[] ss = s.split(";");   
int i = (int) ((Math.random()*3));   
String color = ss[i];   
if(cvet.equals("")) {   
proc.mq.add(uin,"Неправильно выбран цвет");   
return;   
}   
if(cvet.equals(ss[i])) {   
cmd.srv.cq.addMsg("Бомба: Цвета совпали! |" + uss.id + "| " + uss.localnick + " остаётся в чате испытовать своё везение!", "", uss.room);   
proc.mq.add(uin,uss.localnick+ ", тебе повезло! Правильный цвет был  |" + ss[i] + "|, тобой прорезан " + cvet +  ", цвета совпали! Ты остаёшься в чате!");   
} else {   
proc.mq.add(uin,uss.localnick+ ", тебе не повезло! Тобой прорезан не тот провод! Правильный цвет был |" + ss[i] + "|, тобой прорезан " + cvet +  ", цвета несовпали! Бомба взорвалась вместе с тобой! Ты вылетаешь из чата на "+t+" минут!");   
cmd.srv.cq.addMsg("Бомба: Цвета несовпали! Пользователь |" + uss.id + "| " + uss.localnick + " взорвался и вылетел из чата на "+t+" минут!", "", uss.room);   
cmd.tkick(proc, uin, t, 0, "Тебя выкинуло из чата взрывной волной!");   
}   
} catch (Exception ex) {   
ex.printStackTrace();   
proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Игра "бутылочка":
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));   
      out="Ok";   
      return;   
}   

// Проверим полномочия   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   

try{   
String g="";   
      Users uss = cmd.srv.us.getUser(uin);   
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){   
            if(us.room==uss.room) {   
               g += us.id +  ";";   
            }   
         }   
      }   
      String[] gg = g.split(";");   
      int k = (int) ((Math.random()*gg.length));   
String s = cmd.psp.loadText("./text/butilochka.txt");   
String[] ss = s.split("<end>");   
int R = (int) ((Math.random()*ss.length));   
Users u = cmd.srv.us.getUser(Integer.parseInt(gg[k]));   
Users uss = cmd.srv.us.getUser(uin);   
if(uss.id==0){   
proc.mq.add(uin,"Пользователь не найден");   
return;   
}   
if(uss.state!=UserWork.STATE_CHAT){   
proc.mq.add(uin,"Этого пользователя нет в чате.");   
return;   
}   
if(uss.room!=7)   
{   
proc.mq.add(uin,"Играть можно только в 7 комнате8-)");   
return;   
}   
if(u.id==uss.id)   
{   
proc.mq.add(uin,uss.localnick + " Ну ка крутани еще.");   
return;   
}   
// Оповещаем чат   
cmd.srv.cq.addMsg("Ведущий: " + uss.localnick + " вертит бутылочку. Бутылочка крутится.... крутится... и указывает на.... указывает на " + "[" + gg[k] + "]" + u.localnick, uss.sn, uss.room);   
cmd.srv.cq.addMsg("Ведущий: Теперь " + uss.localnick + " должен(должна) " +ss[R]+ " [" + gg[k] + "]" + u.localnick, uss.sn, uss.room);   

proc.mq.add(uin,"Ведущий: Ты должен(должна) "+ss[R]+ " [" +gg[k]+ "]" + u.localnick);   

} catch (Exception ex) {   
       ex.printStackTrace();   
       proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Игра "рулетка" на права moders:
Code
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("!рулетка","$n",39,name));   
      out="Ok";   
      return;   
}   

// Проверим полномочия   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   

try{      
        Vector v = cmd.getParser().parseArgs(msg);   
       int s = (Integer)v.get(0); // набранное число   
       int numb =(int) ((Math.random()*50)); // случаиное время кика от 0 до 50   
       int num = (int) ((Math.random()*50)); // случаиное число от 0 до 50   
       Users uss = cmd.srv.us.getUser(uin);   
       if(uss.room!=7) // номер комнаты для игры   
{   
proc.mq.add(uin,"Играть можно только в 7 комнате8-)"); // оповещение где играть   
return;   
}   
       int moder_id = uss.id; // ид модера   
       String r ="Неудачник!"; // причина   
         
       if(s>50){   
         proc.mq.add(uin,"Число должно быть от 1 до 50...");   
         return;   
            }   

       cmd.srv.cq.addMsg("Крупье: я загадал число: (" + num + ") , а " + uss.localnick + " набрал: (" + s + ")", "", uss.room);   
       if(s==num)   
           {   
             
          cmd.srv.cq.addMsg("Крупье: числа совпали! " + uss.localnick + " стал модером*BRAVO* а мог вылететь из чата на "+ numb +" минут", "", uss.room);   
          proc.mq.add(uin,"Крупье: я загадал число: (" + num + ") , а у тебя выпало: (" + s + ") , числа совпали! ты стал модератором на 7 дней!");   

// Переводим в группу moder   
cmd.srv.us.getUser(uin).group = "moder";   
boolean f = cmd.srv.us.setUserPropsValue(uss.id, "group", "moder") &&   
cmd.srv.us.setUserPropsValue(uss.id, "grant", "") &&   
cmd.srv.us.setUserPropsValue(uss.id, "revoke", "");   
cmd.srv.us.clearCashAuth(uss.id);       
        
           }   
           else   
           {   
         proc.mq.add(uin,"Крупье: я загадала число: (" + num + ") , а у тебя выпало: (" + s + ") , числа несовпали! *BYE* пока неудачник!");   
          // оповещаем....удаляем   

            proc.mq.add(uin,"Вы были выпнуты из чата на "+ numb +" минут. Причина: Ты проиграл в Русскую рулетку!");   
                
            cmd.tkick(proc, uin, numb, moder_id, r);    
              }   

      }catch (Exception ex) {   
       ex.printStackTrace();   
         proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}  

Скрипт смены простово статуса боту(чату):
Code
/**   
* Скрипт для смены ICQ - статусов   
* Bess   
* ICQ статусы:   
* Злой = 1;   
* Депрессия = 2;   
* Дома = 3;   
* Работа = 4;   
* Кушаю = 5;   
* Отошёл = 6;   
* Готов поболтать = 7;   
* Не беспокоить = 8;   
* Невидим = 9;   
* Невидим для всех = 10;   
* Недоступен = 11;   
* Занят = 12;   
* Не в сети = 13;   
* В сети = 14;    
*/   

/**   
* При вызове скрипта определены следующие переменные:   
* 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("!статус","$n",39,name));   
out="Ok";   
return;   
}   

// Проверим полномочия   
//if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.psp.testAdmin(uin)) return;   

Vector v = cmd.getParser().parseArgs(msg);   
int i = (Integer)v.get(0);   
if(i>14 || i<0) return;   
proc.mq.add(uin,"Статус чата изменён");   
switch(i){   
case 1:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status",12288);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;   
case 2:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 16384);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;   
case 3:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 20480);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 4:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 24576);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 5:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 8193);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;    
case 6:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 1);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;   
case 7:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 32);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 8:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 2);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 9:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 256);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;   
case 10:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 512);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 11:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 4);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 12:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 10);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 13:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 268435456);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 14:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 0);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;   
}   
/*Manager.restart();*/ //раскоментировать если хотите что б статус менялся сразу


 
СообщениеИгры "бомба":
Code
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("game","возможность играть");   
      out="Ok";   
      return;   
}   
if(!cmd.isChat(proc,uin)) return;   
try{                
Vector v = cmd.getParser().parseArgs(msg);   
Users uss = cmd.srv.us.getUser(uin);   
String cvet = (String)v.get(0);       
int t = (int) ((Math.random()*3));   
if(uss.room!=7){   
proc.mq.add(uin,"Перейди в комнату |7| - " + cmd.srv.us.getRoom(7).getName() + "");   
return;   
}   
String s ="красный;синий;черный";   
String[] ss = s.split(";");   
int i = (int) ((Math.random()*3));   
String color = ss[i];   
if(cvet.equals("")) {   
proc.mq.add(uin,"Неправильно выбран цвет");   
return;   
}   
if(cvet.equals(ss[i])) {   
cmd.srv.cq.addMsg("Бомба: Цвета совпали! |" + uss.id + "| " + uss.localnick + " остаётся в чате испытовать своё везение!", "", uss.room);   
proc.mq.add(uin,uss.localnick+ ", тебе повезло! Правильный цвет был  |" + ss[i] + "|, тобой прорезан " + cvet +  ", цвета совпали! Ты остаёшься в чате!");   
} else {   
proc.mq.add(uin,uss.localnick+ ", тебе не повезло! Тобой прорезан не тот провод! Правильный цвет был |" + ss[i] + "|, тобой прорезан " + cvet +  ", цвета несовпали! Бомба взорвалась вместе с тобой! Ты вылетаешь из чата на "+t+" минут!");   
cmd.srv.cq.addMsg("Бомба: Цвета несовпали! Пользователь |" + uss.id + "| " + uss.localnick + " взорвался и вылетел из чата на "+t+" минут!", "", uss.room);   
cmd.tkick(proc, uin, t, 0, "Тебя выкинуло из чата взрывной волной!");   
}   
} catch (Exception ex) {   
ex.printStackTrace();   
proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Игра "бутылочка":
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));   
      out="Ok";   
      return;   
}   

// Проверим полномочия   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   

try{   
String g="";   
      Users uss = cmd.srv.us.getUser(uin);   
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){   
            if(us.room==uss.room) {   
               g += us.id +  ";";   
            }   
         }   
      }   
      String[] gg = g.split(";");   
      int k = (int) ((Math.random()*gg.length));   
String s = cmd.psp.loadText("./text/butilochka.txt");   
String[] ss = s.split("<end>");   
int R = (int) ((Math.random()*ss.length));   
Users u = cmd.srv.us.getUser(Integer.parseInt(gg[k]));   
Users uss = cmd.srv.us.getUser(uin);   
if(uss.id==0){   
proc.mq.add(uin,"Пользователь не найден");   
return;   
}   
if(uss.state!=UserWork.STATE_CHAT){   
proc.mq.add(uin,"Этого пользователя нет в чате.");   
return;   
}   
if(uss.room!=7)   
{   
proc.mq.add(uin,"Играть можно только в 7 комнате8-)");   
return;   
}   
if(u.id==uss.id)   
{   
proc.mq.add(uin,uss.localnick + " Ну ка крутани еще.");   
return;   
}   
// Оповещаем чат   
cmd.srv.cq.addMsg("Ведущий: " + uss.localnick + " вертит бутылочку. Бутылочка крутится.... крутится... и указывает на.... указывает на " + "[" + gg[k] + "]" + u.localnick, uss.sn, uss.room);   
cmd.srv.cq.addMsg("Ведущий: Теперь " + uss.localnick + " должен(должна) " +ss[R]+ " [" + gg[k] + "]" + u.localnick, uss.sn, uss.room);   

proc.mq.add(uin,"Ведущий: Ты должен(должна) "+ss[R]+ " [" +gg[k]+ "]" + u.localnick);   

} catch (Exception ex) {   
       ex.printStackTrace();   
       proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Игра "рулетка" на права moders:
Code
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("!рулетка","$n",39,name));   
      out="Ok";   
      return;   
}   

// Проверим полномочия   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   

try{      
        Vector v = cmd.getParser().parseArgs(msg);   
       int s = (Integer)v.get(0); // набранное число   
       int numb =(int) ((Math.random()*50)); // случаиное время кика от 0 до 50   
       int num = (int) ((Math.random()*50)); // случаиное число от 0 до 50   
       Users uss = cmd.srv.us.getUser(uin);   
       if(uss.room!=7) // номер комнаты для игры   
{   
proc.mq.add(uin,"Играть можно только в 7 комнате8-)"); // оповещение где играть   
return;   
}   
       int moder_id = uss.id; // ид модера   
       String r ="Неудачник!"; // причина   
         
       if(s>50){   
         proc.mq.add(uin,"Число должно быть от 1 до 50...");   
         return;   
            }   

       cmd.srv.cq.addMsg("Крупье: я загадал число: (" + num + ") , а " + uss.localnick + " набрал: (" + s + ")", "", uss.room);   
       if(s==num)   
           {   
             
          cmd.srv.cq.addMsg("Крупье: числа совпали! " + uss.localnick + " стал модером*BRAVO* а мог вылететь из чата на "+ numb +" минут", "", uss.room);   
          proc.mq.add(uin,"Крупье: я загадал число: (" + num + ") , а у тебя выпало: (" + s + ") , числа совпали! ты стал модератором на 7 дней!");   

// Переводим в группу moder   
cmd.srv.us.getUser(uin).group = "moder";   
boolean f = cmd.srv.us.setUserPropsValue(uss.id, "group", "moder") &&   
cmd.srv.us.setUserPropsValue(uss.id, "grant", "") &&   
cmd.srv.us.setUserPropsValue(uss.id, "revoke", "");   
cmd.srv.us.clearCashAuth(uss.id);       
        
           }   
           else   
           {   
         proc.mq.add(uin,"Крупье: я загадала число: (" + num + ") , а у тебя выпало: (" + s + ") , числа несовпали! *BYE* пока неудачник!");   
          // оповещаем....удаляем   

            proc.mq.add(uin,"Вы были выпнуты из чата на "+ numb +" минут. Причина: Ты проиграл в Русскую рулетку!");   
                
            cmd.tkick(proc, uin, numb, moder_id, r);    
              }   

      }catch (Exception ex) {   
       ex.printStackTrace();   
         proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}  

Скрипт смены простово статуса боту(чату):
Code
/**   
* Скрипт для смены ICQ - статусов   
* Bess   
* ICQ статусы:   
* Злой = 1;   
* Депрессия = 2;   
* Дома = 3;   
* Работа = 4;   
* Кушаю = 5;   
* Отошёл = 6;   
* Готов поболтать = 7;   
* Не беспокоить = 8;   
* Невидим = 9;   
* Невидим для всех = 10;   
* Недоступен = 11;   
* Занят = 12;   
* Не в сети = 13;   
* В сети = 14;    
*/   

/**   
* При вызове скрипта определены следующие переменные:   
* 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("!статус","$n",39,name));   
out="Ok";   
return;   
}   

// Проверим полномочия   
//if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.psp.testAdmin(uin)) return;   

Vector v = cmd.getParser().parseArgs(msg);   
int i = (Integer)v.get(0);   
if(i>14 || i<0) return;   
proc.mq.add(uin,"Статус чата изменён");   
switch(i){   
case 1:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status",12288);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;   
case 2:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 16384);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;   
case 3:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 20480);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 4:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 24576);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 5:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 8193);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;    
case 6:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 1);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;   
case 7:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 32);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 8:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 2);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 9:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 256);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;   
case 10:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 512);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 11:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 4);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 12:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 10);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 13:   
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 268435456);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();    
break;   
case 14:    
ChatProps.getInstance(cmd.srv.getName()).setIntProperty("icq.status", 0);   
Manager.getInstance().getService(cmd.srv.getName()).getProps().save();   
break;   
}   
/*Manager.restart();*/ //раскоментировать если хотите что б статус менялся сразу

Автор - ShuriK
Дата добавления - 16.02.2011 в 15:42
ShuriK Дата: Среда, 16.02.2011, 15:43 | Сообщение # 9
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Добавление фраз в игру "бутылочка":
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("!новбутылочки","$s",39,name));    
       cmd.addCommand("!сбут", new Cmd("!новслова","$s",39,name));    
       cmd.addCommand("!сбут", new Cmd("!новслово","$s",39,name));    
       cmd.addAuth("sz_but","Создание фраз");    
       out="Ok";    
       return;    
}    

// Проверим полномочия    
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;    
if(!cmd.auth(proc,uin, "sz_but")) return;    

try {    
       //Парсим    
       Vector v = cmd.getParser().parseArgs(msg);    
       String sn = (String)v.get(0);    
       Users uss = cmd.srv.us.getUser(uin);    
       //Проверяем комнату    
       if(uss.room!=4)    
       {    
       proc.mq.add(uin,"Фразы можно добавлять в комнате где проходит сама игра. То есть в 4 комате. :-)");    
       return;    
       }    
          //Если фраза пустая, то не выводим.    
         if(sn.equals("")){    
                            proc.mq.add(uin,"Вначале придумай фразу:)");    
                            return;    
                        }    
       //Указываем фаил с фразами.    
       OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./text/butilochka.txt",true),"windows-1251");    
       String s =sn +" <end>";    
       ow.write(s);    
       ow.close();    

         //Оповещяем чат.    
               cmd.srv.cq.addMsg(uss.localnick + "|" + uss.id + "| добавил фразу "+ sn + " в игру бутылочку", uin, uss.room);    
               //Оповещяем об успешном выполнении команды.    
         proc.mq.add(uin,"Ваша фраза была успешно добавленна в игру бутылочка*YES*");    
} catch (Exception ex) {    
       ex.printStackTrace();    
       proc.mq.add(uin,"Ошибка добавления");    
}

Смена ID пользователю:
Code
/**      
* Скрипт изменения 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("!chid", new Cmd("!chid","$n $n",39,name));      
cmd.addCommand("!измнид", new Cmd("!измнид","$n $n",39,name));      
cmd.addAuth("chid","команда изменения ID");      
out="Ok";      
return;      
}      

// Проверим полномочия      
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;      
if(!cmd.auth(proc,uin, "chid")) return;      

try{      

Vector v = cmd.getParser().parseArgs(msg);      
int i = (Integer)v.get(0);      
int newid = (Integer)v.get(1);      
Users u = cmd.srv.us.getUser(i);      
Users unew = cmd.srv.us.getUser(newid);      

if(u.id==0){      
proc.mq.add(uin,"Пользователь не найден!");      
return;      
}      

if (cmd.srv.us.testUser(unew.sn)) {proc.mq.add(uin,"Пользователь с ID "+newid+" уже существует! Попробуй другой ID");      
return;      
}      

int oldid = u.id;      

u.id=newid;      

cmd.srv.us.updateUserid(u,newid,oldid);      

//cmd.srv.cq.addMsg("У пользователя " + u.localnick +" ["+oldid+"]" + " ID изменен на [" + newid+ "]", u.room);      

// Сообщаем об успешном выполнении команды      
proc.mq.add(uin,"ID успешно изменен");      
} catch (Exception ex) {      
ex.printStackTrace();      
proc.mq.add(uin,"Ошибка "+ex.getMessage());      
}

Очистка базы данных(логов)(работа чата улучшается):
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("clean","ОЧИСТКА БД");    
        out="Ok";    
        return;    
}    

// Проверим полномочия    
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;    
if(!cmd.auth(proc,uin, "clean")) return;    

try{    
cmd.srv.us.db.executeQuery(" TRUNCATE `events` ");    
cmd.srv.us.db.executeQuery(" TRUNCATE `log` ");    
//Оповещаем    
        proc.mq.add(uin,"БД очищена");    
        }   catch (Exception ex) {    
            ex.printStackTrace();    
            proc.mq.add(uin,"ошибка "+ex.getMessage());    
}/*Manager.restart();*/

Опросы,создание опроса:
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));    
     out="Ok";    
     return;    
}    

// Проверим полномочия    
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;    
if(!cmd.auth(proc,uin, "MakeVote")) return;    
try {    
}    
     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,"Ошибка добавления");    
}

Смотреть ответы:
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("VoteView","Голосование");    
     out="Ok";    
     return;    
}    

// Проверим полномочия    
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;    
if(!cmd.auth(proc,uin, "VoteView")) return;    

try {    
     String s = cmd.psp.loadText("./vote.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();    
     Log.talk("Error save msg: " + ex.getMessage());    
     proc.mq.add(uin,"Ошибка добавления");    
}

Голосовать:
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("!голос","$n",39,name));    
     cmd.addAuth("Vote","Голосование");    
     out="Ok";    
     return;    
}    

// Проверим полномочия    
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;    
try {    
if(!cmd.qauth(proc,uin, "Vote")){    
      proc.mq.add(uin,"Вы уже голосовали в текущем опросе");    
          
     }    
     else{    
      Vector v = cmd.getParser().parseArgs(msg);    
      int ch = (Integer)v.get(0);    
      Users us = cmd.srv.us.getUser(uin);    
      OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./voters.txt",true),"windows-1251");    
      OutputStreamWriter owoter = new OutputStreamWriter(new FileOutputStream("./voteresult/"+ch+".txt",true),"windows-1251");    
      String m =  us.id+";";    
      ow.write(m);    
      ow.close();    
      owoter.write(m);    
      owoter.close();    
      proc.mq.add(uin,"Вы успешно проголосовали за вариант "+ch);    
      cmd.srv.us.revokeUser(us.id, "Vote");    
          
          
      //OutputStreamWriter voters = new OutputStreamWriter(new FileOutputStream("./voters.txt",true),"windows-1251");    
      //voters.write(us.id+"\n");    
     }    
         
         

} catch (Exception ex) {    
     ex.printStackTrace();    
     Log.talk("Error save msg: " + ex.getMessage());    
     proc.mq.add(uin,"Ошибка голосования "+ ex.getMessage());    
}

Разные приколы-команды:














 
СообщениеДобавление фраз в игру "бутылочка":
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("!новбутылочки","$s",39,name));    
       cmd.addCommand("!сбут", new Cmd("!новслова","$s",39,name));    
       cmd.addCommand("!сбут", new Cmd("!новслово","$s",39,name));    
       cmd.addAuth("sz_but","Создание фраз");    
       out="Ok";    
       return;    
}    

// Проверим полномочия    
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;    
if(!cmd.auth(proc,uin, "sz_but")) return;    

try {    
       //Парсим    
       Vector v = cmd.getParser().parseArgs(msg);    
       String sn = (String)v.get(0);    
       Users uss = cmd.srv.us.getUser(uin);    
       //Проверяем комнату    
       if(uss.room!=4)    
       {    
       proc.mq.add(uin,"Фразы можно добавлять в комнате где проходит сама игра. То есть в 4 комате. :-)");    
       return;    
       }    
          //Если фраза пустая, то не выводим.    
         if(sn.equals("")){    
                            proc.mq.add(uin,"Вначале придумай фразу:)");    
                            return;    
                        }    
       //Указываем фаил с фразами.    
       OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./text/butilochka.txt",true),"windows-1251");    
       String s =sn +" <end>";    
       ow.write(s);    
       ow.close();    

         //Оповещяем чат.    
               cmd.srv.cq.addMsg(uss.localnick + "|" + uss.id + "| добавил фразу "+ sn + " в игру бутылочку", uin, uss.room);    
               //Оповещяем об успешном выполнении команды.    
         proc.mq.add(uin,"Ваша фраза была успешно добавленна в игру бутылочка*YES*");    
} catch (Exception ex) {    
       ex.printStackTrace();    
       proc.mq.add(uin,"Ошибка добавления");    
}

Смена ID пользователю:
Code
/**      
* Скрипт изменения 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("!chid", new Cmd("!chid","$n $n",39,name));      
cmd.addCommand("!измнид", new Cmd("!измнид","$n $n",39,name));      
cmd.addAuth("chid","команда изменения ID");      
out="Ok";      
return;      
}      

// Проверим полномочия      
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;      
if(!cmd.auth(proc,uin, "chid")) return;      

try{      

Vector v = cmd.getParser().parseArgs(msg);      
int i = (Integer)v.get(0);      
int newid = (Integer)v.get(1);      
Users u = cmd.srv.us.getUser(i);      
Users unew = cmd.srv.us.getUser(newid);      

if(u.id==0){      
proc.mq.add(uin,"Пользователь не найден!");      
return;      
}      

if (cmd.srv.us.testUser(unew.sn)) {proc.mq.add(uin,"Пользователь с ID "+newid+" уже существует! Попробуй другой ID");      
return;      
}      

int oldid = u.id;      

u.id=newid;      

cmd.srv.us.updateUserid(u,newid,oldid);      

//cmd.srv.cq.addMsg("У пользователя " + u.localnick +" ["+oldid+"]" + " ID изменен на [" + newid+ "]", u.room);      

// Сообщаем об успешном выполнении команды      
proc.mq.add(uin,"ID успешно изменен");      
} catch (Exception ex) {      
ex.printStackTrace();      
proc.mq.add(uin,"Ошибка "+ex.getMessage());      
}

Очистка базы данных(логов)(работа чата улучшается):
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("clean","ОЧИСТКА БД");    
        out="Ok";    
        return;    
}    

// Проверим полномочия    
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;    
if(!cmd.auth(proc,uin, "clean")) return;    

try{    
cmd.srv.us.db.executeQuery(" TRUNCATE `events` ");    
cmd.srv.us.db.executeQuery(" TRUNCATE `log` ");    
//Оповещаем    
        proc.mq.add(uin,"БД очищена");    
        }   catch (Exception ex) {    
            ex.printStackTrace();    
            proc.mq.add(uin,"ошибка "+ex.getMessage());    
}/*Manager.restart();*/

Опросы,создание опроса:
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));    
     out="Ok";    
     return;    
}    

// Проверим полномочия    
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;    
if(!cmd.auth(proc,uin, "MakeVote")) return;    
try {    
}    
     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,"Ошибка добавления");    
}

Смотреть ответы:
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("VoteView","Голосование");    
     out="Ok";    
     return;    
}    

// Проверим полномочия    
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;    
if(!cmd.auth(proc,uin, "VoteView")) return;    

try {    
     String s = cmd.psp.loadText("./vote.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();    
     Log.talk("Error save msg: " + ex.getMessage());    
     proc.mq.add(uin,"Ошибка добавления");    
}

Голосовать:
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("!голос","$n",39,name));    
     cmd.addAuth("Vote","Голосование");    
     out="Ok";    
     return;    
}    

// Проверим полномочия    
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;    
try {    
if(!cmd.qauth(proc,uin, "Vote")){    
      proc.mq.add(uin,"Вы уже голосовали в текущем опросе");    
          
     }    
     else{    
      Vector v = cmd.getParser().parseArgs(msg);    
      int ch = (Integer)v.get(0);    
      Users us = cmd.srv.us.getUser(uin);    
      OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream("./voters.txt",true),"windows-1251");    
      OutputStreamWriter owoter = new OutputStreamWriter(new FileOutputStream("./voteresult/"+ch+".txt",true),"windows-1251");    
      String m =  us.id+";";    
      ow.write(m);    
      ow.close();    
      owoter.write(m);    
      owoter.close();    
      proc.mq.add(uin,"Вы успешно проголосовали за вариант "+ch);    
      cmd.srv.us.revokeUser(us.id, "Vote");    
          
          
      //OutputStreamWriter voters = new OutputStreamWriter(new FileOutputStream("./voters.txt",true),"windows-1251");    
      //voters.write(us.id+"\n");    
     }    
         
         

} catch (Exception ex) {    
     ex.printStackTrace();    
     Log.talk("Error save msg: " + ex.getMessage());    
     proc.mq.add(uin,"Ошибка голосования "+ ex.getMessage());    
}

Разные приколы-команды:













Автор -
Дата добавления - в
ShuriK Дата: Среда, 16.02.2011, 15:44 | Сообщение # 10
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Вход в чат:
Code
/**   
* Альтернатива входу.   
* Imda, редактировал TесКTоNiК   
*/   

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 = "Вы вошли в чат.";   
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(uss.localnick + MESSAGE3 + uss.id + MESSAGE4 + MESSAGE2, uss.sn, uss.room);   
proc.mq.add(uin,"Добро Пожаловать в Чат*HI*" + "\nВаш NICK = [" + uss.localnick + "]\nВаш UIN = [" + uin + "]\nВаш ID = [" + uss.id + "]\nВы в Комнате = [" + uss.room + "]\nНаименование комнаты = [" + cmd.srv.us.getRoom(uss.room).getName() + "] \nТема текущей комнаты = [" + cmd.srv.us.getRoom(uss.room).getTopic() + "]");   
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);   
if(cmd.psp.getBooleanProperty("chat.showChangeUserStatus"))   
cmd.srv.cq.addMsg(uss.localnick + MESSAGE3 + uss.id + MESSAGE4 + 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, "", uss.localnick + MESSAGE2);   
cmd.srv.cq.addUser(uin,proc.baseUin, uss.room);   
if(f){   
File acu = new File ("./AutoUin");   
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());   
}

ТВ:
Code
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("TV","Вывод программы");   
out="Ok";   
return;   
}   

// Проверим полномочия   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.auth(proc,uin, "TV")) return;   

try{   
Vector v = cmd.getParser().parseArgs(msg);   
int i1 = (Integer)v.get(0);   
Users uss = cmd.srv.us.getUser(uin);   

String s="";   
String s1="";   
if((i1==0)||(i1>=13)){   
s = cmd.psp.loadText("./text/tv.txt");   
String[] ss = s.split("<br>");   
for(int i=0;i<ss.length;i++){   
proc.mq.add(uin,ss[i]);   
}   
return;   
}   

s="";   
s = MainProps.getStringFromHTTP("http://www.memox.ru/rss/program.php?pr=" + i1);   

String[] ss = s.split("<description>");   
String[] ss1 = new String[2];   
for(int i=1;i<ss.length;i++){   

ss1= ss[i].split("</description>");   
s1 += ss1[0] + "\n";   
if (i==10||i==20||i==30||i==40||i==50||i==60){   
s1 = s1.replace(""","'");   
proc.mq.add(uin,s1);   
s1="";}   
}   
}   
catch (Exception ex) {   
ex.printStackTrace();   
proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Создайте /text/tv.txt
И туда киньте это:
Code
Для просмотра телепрограммы наберите:   
!программа ID_канала   
1 - 1 канал   
2 - Россия   
3 - ТВ Центр   
4 - НТВ   
5 - Культура   
6 - Спорт   
7 - РЕН ТВ   
8 - СТС   
9 - Домашний   
10 - ТНТ   
11 - ДТВ   
12 - MTV-Россия вот то впишите в/text/tv.txt

Переход по комнатам:
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("!комната","$n $c",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);   
String pass = (String)v.get(1);   
Users uss = cmd.srv.us.getUser(uin);   
if(uss.room==i){   
proc.mq.add(uin,"Ты уже сидишь в этой комнате!");   
} else   
if (!cmd.srv.us.getRoom(i).checkPass(pass) && !cmd.psp.testAdmin(uin)) {   
proc.mq.add(uin,"Не верный пароль!Ага ты хочеш зайти но незнаеш пароля может ты шпион?");   
return;   
}   
if(cmd.qauth(proc,uin, "anyroom") || cmd.srv.us.checkRoom(i)){   
if (!cmd.srv.us.authorityCheck(uss.id,"invisible")) {   
cmd.srv.cq.addMsg(uss.localnick + MESSAGE2, uin, i);   
cmd.srv.cq.addMsg(uss.localnick + MESSAGE1 + i, uin, uss.room);   
}   
uss.room=i;   
cmd.srv.us.updateUser(uss);   
cmd.srv.cq.changeUserRoom(uin, i);   
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());   
}


 
СообщениеВход в чат:
Code
/**   
* Альтернатива входу.   
* Imda, редактировал TесКTоNiК   
*/   

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 = "Вы вошли в чат.";   
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(uss.localnick + MESSAGE3 + uss.id + MESSAGE4 + MESSAGE2, uss.sn, uss.room);   
proc.mq.add(uin,"Добро Пожаловать в Чат*HI*" + "\nВаш NICK = [" + uss.localnick + "]\nВаш UIN = [" + uin + "]\nВаш ID = [" + uss.id + "]\nВы в Комнате = [" + uss.room + "]\nНаименование комнаты = [" + cmd.srv.us.getRoom(uss.room).getName() + "] \nТема текущей комнаты = [" + cmd.srv.us.getRoom(uss.room).getTopic() + "]");   
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);   
if(cmd.psp.getBooleanProperty("chat.showChangeUserStatus"))   
cmd.srv.cq.addMsg(uss.localnick + MESSAGE3 + uss.id + MESSAGE4 + 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, "", uss.localnick + MESSAGE2);   
cmd.srv.cq.addUser(uin,proc.baseUin, uss.room);   
if(f){   
File acu = new File ("./AutoUin");   
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());   
}

ТВ:
Code
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("TV","Вывод программы");   
out="Ok";   
return;   
}   

// Проверим полномочия   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
if(!cmd.auth(proc,uin, "TV")) return;   

try{   
Vector v = cmd.getParser().parseArgs(msg);   
int i1 = (Integer)v.get(0);   
Users uss = cmd.srv.us.getUser(uin);   

String s="";   
String s1="";   
if((i1==0)||(i1>=13)){   
s = cmd.psp.loadText("./text/tv.txt");   
String[] ss = s.split("<br>");   
for(int i=0;i<ss.length;i++){   
proc.mq.add(uin,ss[i]);   
}   
return;   
}   

s="";   
s = MainProps.getStringFromHTTP("http://www.memox.ru/rss/program.php?pr=" + i1);   

String[] ss = s.split("<description>");   
String[] ss1 = new String[2];   
for(int i=1;i<ss.length;i++){   

ss1= ss[i].split("</description>");   
s1 += ss1[0] + "\n";   
if (i==10||i==20||i==30||i==40||i==50||i==60){   
s1 = s1.replace(""","'");   
proc.mq.add(uin,s1);   
s1="";}   
}   
}   
catch (Exception ex) {   
ex.printStackTrace();   
proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Создайте /text/tv.txt
И туда киньте это:
Code
Для просмотра телепрограммы наберите:   
!программа ID_канала   
1 - 1 канал   
2 - Россия   
3 - ТВ Центр   
4 - НТВ   
5 - Культура   
6 - Спорт   
7 - РЕН ТВ   
8 - СТС   
9 - Домашний   
10 - ТНТ   
11 - ДТВ   
12 - MTV-Россия вот то впишите в/text/tv.txt

Переход по комнатам:
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("!комната","$n $c",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);   
String pass = (String)v.get(1);   
Users uss = cmd.srv.us.getUser(uin);   
if(uss.room==i){   
proc.mq.add(uin,"Ты уже сидишь в этой комнате!");   
} else   
if (!cmd.srv.us.getRoom(i).checkPass(pass) && !cmd.psp.testAdmin(uin)) {   
proc.mq.add(uin,"Не верный пароль!Ага ты хочеш зайти но незнаеш пароля может ты шпион?");   
return;   
}   
if(cmd.qauth(proc,uin, "anyroom") || cmd.srv.us.checkRoom(i)){   
if (!cmd.srv.us.authorityCheck(uss.id,"invisible")) {   
cmd.srv.cq.addMsg(uss.localnick + MESSAGE2, uin, i);   
cmd.srv.cq.addMsg(uss.localnick + MESSAGE1 + i, uin, uss.room);   
}   
uss.room=i;   
cmd.srv.us.updateUser(uss);   
cmd.srv.cq.changeUserRoom(uin, i);   
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());   
}

Автор - ShuriK
Дата добавления - 16.02.2011 в 15:44
ShuriK Дата: Среда, 16.02.2011, 15:44 | Сообщение # 11
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:








 
Сообщение







Автор - ShuriK
Дата добавления - 16.02.2011 в 15:44
ShuriK Дата: Среда, 16.02.2011, 15:46 | Сообщение # 12
SIS.ADMIN
Написать администратору
Группа: Администраторы
Сообщений: 143
Статус:
Голосование(вариант - 2):
Code
import ru.jimbot.modules.AbstractServer;   
import ru.jimbot.util.*;   
import ru.jimbot.modules.*;   
import ru.jimbot.modules.chat.*;   
import java.sql.*;   
if(in.equals("install")){   
      cmd.addCommand("!голстарт", new Cmd("!голстарт","",39,name));   
      out="Ok";   
      return;   
}   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
try{      
Vector v = cmd.getParser().parseArgs(msg);   
Users isender = cmd.srv.us.getUser(uin);   
if(isender.room!=7) {
         proc.mq.add(uin,"Для голосования пройдите на избирательный участок");    
         return;   
      }   
       PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select count(*) from polling p where p.status=0");   
       ResultSet rs = pst.executeQuery();   
       rs.next();   
       int t = rs.getInt(1);   
       if(t!=1)   
           {   
                   proc.mq.add(uin,"У вас нет голосования в статусе ЧЕРНОВИК.");    
                   return;   
           }   
       rs.close();   
       pst.close();   
       pst = cmd.srv.us.db.getDb().prepareStatement("select type  from polling p where p.status = 0");   
       rs = pst.executeQuery();   
       rs.next();   
           int itype = rs.getInt(1);          
       rs.close();   
       pst.close();   
           if(itype==1) {   
                   PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select count(*) from polling p,polling_variant pv where p.status=0 and pv.polling_id=p.polling_id");   
                   ResultSet rs = pst.executeQuery();   
                   rs.next();   
                   t = rs.getInt(1);   
                   if(t<2)   
                   {   
                           proc.mq.add(uin,"Начало голосования невозможно: Выбран тип голосования 1 (за варианты ответа), поэтому вам необходимо добавить как минимум два варианта ответа командой !голдобвар. Просмотреть текущую конфигурацию !голнастройки. Изменить тип голосования !голизмтип 0");    
                           return;   
                   }   
                   rs.close();   
                   pst.close();   
           }   
           pst = cmd.srv.us.db.getDb().prepareStatement("update polling set status=1 where status=0");   
       pst.execute();   
       pst.close();   
           proc.mq.add(uin,"Голосование запущено!");   
      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("В комнате №7 запущено голосование, просьба принять участие.", uin, i);   
      }   
     cmd.srv.us.db.event(isender.id, uin, "POLL", 0, "", "Запуск голосования");   
}catch (Exception ex) {   
      ex.printStackTrace();   
      proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Code

import ru.jimbot.modules.AbstractServer;   
import ru.jimbot.util.*;   
import ru.jimbot.modules.*;   
import ru.jimbot.modules.chat.*;   
import java.sql.*;   
if(in.equals("install")){   
      cmd.addCommand("!голдобвар", new Cmd("!голдобвар","$n $s",39,name));   
      out="Ok";   
      return;   
}   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
try{
Vector v = cmd.getParser().parseArgs(msg);   
Users isender = cmd.srv.us.getUser(uin);   
int icode = (Integer)v.get(0);   
String idesc = (String)v.get(1);   
      if(isender.room!=7) { // номер комнаты для голосований   
         proc.mq.add(uin,"Для голосования пройдите на избирательный участок");    
         return;   
      }   
    if(idesc.length()>250){   
    idesc=idesc.substring(1, 250);   
    }    
       PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select count(*) from polling where status=0");   
       ResultSet rs = pst.executeQuery();   
       rs.next();   
       int t = rs.getInt(1);   
       if(t!=1)   
    {   
     proc.mq.add(uin,"У вас нет голосования в статусе ЧЕРНОВИК.");    
     return;   
    }   
       rs.close();   
       pst.close();   
       PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select type from polling where status=0");   
       ResultSet rs = pst.executeQuery();   
       if(!rs.next()){   
     proc.mq.add(uin,"Неожиданный результат запроса! Попробуте очистить таблицы голосования! ");    
     return;   
    }   
       t = rs.getInt(1);   
       if(t!=1)   
    {   
     proc.mq.add(uin,"Для вашего голосования установлен тип(type) - 0. Голосование будет проходить за пользователей, а не за варианты ответа. Можете изменить тип голосования командой !голизмтип 1");    
     return;   
    }   
       rs.close();   
       pst.close();   
       PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select count(*) from polling p,polling_variant pv where p.status=0 and p.polling_id=pv.polling_id and pv.polling_variants_code="+icode);   
       ResultSet rs = pst.executeQuery();   
       rs.next();   
       t = rs.getInt(1);   
       if(t==1)   
    {   
     proc.mq.add(uin,"Вариант ответа с таким кодом уже существует");    
     return;   
    }   
       rs.close();   
       pst.close();   
       PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select polling_id from polling  where status=0");   
       ResultSet rs = pst.executeQuery();   
       rs.next();   
       t = rs.getInt(1);   
       rs.close();   
       pst.close();   
    pst = cmd.srv.us.db.getDb().prepareStatement("insert into polling_variant(polling_id,polling_variants_code,polling_variants_name) values(?,?,?)");   
       pst.setInt(1, t);   
       pst.setInt(2, icode);   
       pst.setString(3, idesc);   
       pst.execute();   
       pst.close();   
    proc.mq.add(uin,"Вариант ответа успешно добавлен.");    
     cmd.srv.us.db.event(isender.id, uin, "POLL", 0, "", "Добавлен вариант ответа");   
}catch (Exception ex) {   
      ex.printStackTrace();   
      proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}




 
СообщениеГолосование(вариант - 2):
Code
import ru.jimbot.modules.AbstractServer;   
import ru.jimbot.util.*;   
import ru.jimbot.modules.*;   
import ru.jimbot.modules.chat.*;   
import java.sql.*;   
if(in.equals("install")){   
      cmd.addCommand("!голстарт", new Cmd("!голстарт","",39,name));   
      out="Ok";   
      return;   
}   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
try{      
Vector v = cmd.getParser().parseArgs(msg);   
Users isender = cmd.srv.us.getUser(uin);   
if(isender.room!=7) {
         proc.mq.add(uin,"Для голосования пройдите на избирательный участок");    
         return;   
      }   
       PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select count(*) from polling p where p.status=0");   
       ResultSet rs = pst.executeQuery();   
       rs.next();   
       int t = rs.getInt(1);   
       if(t!=1)   
           {   
                   proc.mq.add(uin,"У вас нет голосования в статусе ЧЕРНОВИК.");    
                   return;   
           }   
       rs.close();   
       pst.close();   
       pst = cmd.srv.us.db.getDb().prepareStatement("select type  from polling p where p.status = 0");   
       rs = pst.executeQuery();   
       rs.next();   
           int itype = rs.getInt(1);          
       rs.close();   
       pst.close();   
           if(itype==1) {   
                   PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select count(*) from polling p,polling_variant pv where p.status=0 and pv.polling_id=p.polling_id");   
                   ResultSet rs = pst.executeQuery();   
                   rs.next();   
                   t = rs.getInt(1);   
                   if(t<2)   
                   {   
                           proc.mq.add(uin,"Начало голосования невозможно: Выбран тип голосования 1 (за варианты ответа), поэтому вам необходимо добавить как минимум два варианта ответа командой !голдобвар. Просмотреть текущую конфигурацию !голнастройки. Изменить тип голосования !голизмтип 0");    
                           return;   
                   }   
                   rs.close();   
                   pst.close();   
           }   
           pst = cmd.srv.us.db.getDb().prepareStatement("update polling set status=1 where status=0");   
       pst.execute();   
       pst.close();   
           proc.mq.add(uin,"Голосование запущено!");   
      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("В комнате №7 запущено голосование, просьба принять участие.", uin, i);   
      }   
     cmd.srv.us.db.event(isender.id, uin, "POLL", 0, "", "Запуск голосования");   
}catch (Exception ex) {   
      ex.printStackTrace();   
      proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}

Code

import ru.jimbot.modules.AbstractServer;   
import ru.jimbot.util.*;   
import ru.jimbot.modules.*;   
import ru.jimbot.modules.chat.*;   
import java.sql.*;   
if(in.equals("install")){   
      cmd.addCommand("!голдобвар", new Cmd("!голдобвар","$n $s",39,name));   
      out="Ok";   
      return;   
}   
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;   
try{
Vector v = cmd.getParser().parseArgs(msg);   
Users isender = cmd.srv.us.getUser(uin);   
int icode = (Integer)v.get(0);   
String idesc = (String)v.get(1);   
      if(isender.room!=7) { // номер комнаты для голосований   
         proc.mq.add(uin,"Для голосования пройдите на избирательный участок");    
         return;   
      }   
    if(idesc.length()>250){   
    idesc=idesc.substring(1, 250);   
    }    
       PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select count(*) from polling where status=0");   
       ResultSet rs = pst.executeQuery();   
       rs.next();   
       int t = rs.getInt(1);   
       if(t!=1)   
    {   
     proc.mq.add(uin,"У вас нет голосования в статусе ЧЕРНОВИК.");    
     return;   
    }   
       rs.close();   
       pst.close();   
       PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select type from polling where status=0");   
       ResultSet rs = pst.executeQuery();   
       if(!rs.next()){   
     proc.mq.add(uin,"Неожиданный результат запроса! Попробуте очистить таблицы голосования! ");    
     return;   
    }   
       t = rs.getInt(1);   
       if(t!=1)   
    {   
     proc.mq.add(uin,"Для вашего голосования установлен тип(type) - 0. Голосование будет проходить за пользователей, а не за варианты ответа. Можете изменить тип голосования командой !голизмтип 1");    
     return;   
    }   
       rs.close();   
       pst.close();   
       PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select count(*) from polling p,polling_variant pv where p.status=0 and p.polling_id=pv.polling_id and pv.polling_variants_code="+icode);   
       ResultSet rs = pst.executeQuery();   
       rs.next();   
       t = rs.getInt(1);   
       if(t==1)   
    {   
     proc.mq.add(uin,"Вариант ответа с таким кодом уже существует");    
     return;   
    }   
       rs.close();   
       pst.close();   
       PreparedStatement pst = cmd.srv.us.db.getDb().prepareStatement("select polling_id from polling  where status=0");   
       ResultSet rs = pst.executeQuery();   
       rs.next();   
       t = rs.getInt(1);   
       rs.close();   
       pst.close();   
    pst = cmd.srv.us.db.getDb().prepareStatement("insert into polling_variant(polling_id,polling_variants_code,polling_variants_name) values(?,?,?)");   
       pst.setInt(1, t);   
       pst.setInt(2, icode);   
       pst.setString(3, idesc);   
       pst.execute();   
       pst.close();   
    proc.mq.add(uin,"Вариант ответа успешно добавлен.");    
     cmd.srv.us.db.event(isender.id, uin, "POLL", 0, "", "Добавлен вариант ответа");   
}catch (Exception ex) {   
      ex.printStackTrace();   
      proc.mq.add(uin,"Ошибка "+ex.getMessage());   
}



Автор - ShuriK
Дата добавления - 16.02.2011 в 15:46
  • Страница 1 из 1
  • 1
Поиск: