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