Главная » Статьи » JimBot » Скрипты для JimBot

Скрипт бана
Скрипт бана
/**   
* Скрипт бана   
*   
*/   

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

Категория: Скрипты для JimBot | Добавил: SuPeR_NiK (24.03.2011)
Просмотров: 656 | Комментарии: 3 | Теги: Скрипт бана | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]