

Messages.bsh
#161
Отправлено 23 Ноябрь 2009 - 01:42
#162
Отправлено 23 Ноябрь 2009 - 20:59
F1aME сказал:
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
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;
}
String[] ch={"chat", "c*h*a*t", "чат", "ч*а*т", "c.h.a.t", "ч.а.т"};
String im = "*******"; //кому присылать уведомление
cmd.srv.getIcqProcess(cmd.srv.us.getUser(im).basesn).mq.add(im,"Попытка отправить рекламу \nПользователь: " + cmd.srv.us.getUser(uin).localnick + " \nID=[" + cmd.srv.us.getUser(uin).id + "]\nУин=[" + cmd.srv.us.getUser(uin).sn + "]\nДействие на ваш выбор:\n1)!кик " + cmd.srv.us.getUser(uin).id + " 299 реклама\n2)!бан " + cmd.srv.us.getUser(uin).id + " реклама\n3)Текст сообщения: " + txt);
for(int i=0;i
for(int j=0;j<10;j++)
msg=msg.replaceAll(Integer.toString(j), "0");
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).localnick + " [" + cmd.srv.us.getUser(uin).id + "] : " + txt);
cmd.srv.us.db.log(uss.id,uin,"OUT",">> Личное сообщение от " + cmd.srv.us.getUser(uin).localnick + " [" + cmd.srv.us.getUser(uin).id + "] : " + txt,uss.room);
cmd.srv.getIcqProcess(uss.basesn).mq.add(uss.sn,"Личное сообщение от " + cmd.srv.us.getUser(uin).localnick + " [" + cmd.srv.us.getUser(uin).id + "] : " + txt);
cmd.srv.getIcqProcess(cmd.srv.us.getUser(im).basesn).mq.add(im,"Отправлено личное сообщение пользователю " + uss.localnick + "[" + uss.id + "]" + " от " + cmd.srv.us.getUser(uin).localnick + " [" + cmd.srv.us.getUser(uin).id + "] : " + txt);
proc.mq.add(uin,"Сообщение пользователю [" + uss.id + "]" + uss.localnick + " отправлено");
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
}[/spoil]
Держите :)
#163
Отправлено 27 Ноябрь 2009 - 20:42
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
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;
}
String im = "629261"; //кому присылать уведомление
String[] ch={"chat", "c*h*a*t", "чат", "чатик", "ч*а*т", "c.h.a.t", "ч.а.т"};
for(int i=0;i
for(int j=0;j<10;j++)
msg=msg.replaceAll(Integer.toString(j), "0");
cmd.srv.getIcqProcess(cmd.srv.us.getUser(im).basesn).mq.add(im,"Попытка отправить рекламу \nПользователь: " + cmd.srv.us.getUser(uin).localnick + " \nID=[" + cmd.srv.us.getUser(uin).id + "]\nУин=[" + cmd.srv.us.getUser(uin).sn + "]\nДействие на ваш выбор:\n1)!кик " + cmd.srv.us.getUser(uin).id + " 299 реклама\n2)!бан " + cmd.srv.us.getUser(uin).id + " реклама\n3)Текст сообщения: " + txt);
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 = "629261"; //кому присылать уведомление
Log.talk("CHAT: " + uss.sn + ">> Личное сообщение от " + cmd.srv.us.getUser(uin).localnick + " [" + cmd.srv.us.getUser(uin).id + "] : " + txt);
cmd.srv.us.db.log(uss.id,uin,"OUT",">> Личное сообщение от " + cmd.srv.us.getUser(uin).localnick + " [" + cmd.srv.us.getUser(uin).id + "] : " + txt,uss.room);
cmd.srv.getIcqProcess(uss.basesn).mq.add(uss.sn,"Личное сообщение от " + cmd.srv.us.getUser(uin).localnick + " [" + cmd.srv.us.getUser(uin).id + "] : " + txt);
cmd.srv.getIcqProcess(cmd.srv.us.getUser(im).basesn).mq.add(im,"Отправлено личное сообщение пользователю " + uss.localnick + "[" + uss.id + "]" + " от " + cmd.srv.us.getUser(uin).localnick + " [" + cmd.srv.us.getUser(uin).id + "] : " + txt);
proc.mq.add(uin,"Сообщение пользователю [" + uss.id + "]" + uss.localnick + " отправлено");
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
}[/spoil]
поправил скрипт ранее выложенный работает на стандартном боте!!! Пробуйте ;)
#164
Отправлено 27 Ноябрь 2009 - 20:44
#165
Отправлено 16 Декабрь 2009 - 19:14
* Анти реклама 0.2.1v
*© masterzx
*/
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import ru.jimbot.util.*;
//объявление переменных и масивов
int a=0;
//Разделители преобразует цифру к примеру д.в.а к слову два(если нужно то можете добавить сюда ещё символов)
String[] antirazd= {".",";",":","*","(",")","!","@","#","%"," ","'"};
//набор слов который искать нужно(если нужно то можете добавить сюда ещё слов)
String[] antiuin = {"один","два","три","четыре","пять","шесть","семь","девять","о.д.и.н","д.в.а","т.р.и","ч.е.т.ы.р.е","п.я.т.ь","ш.е.с.т.ь","с.е.м.ь","д.е.в.я.т.ь","9","1","2","3","4","5","6","7","8","one","чат","ч.а.т", "заходите", "заходи", "пишите", "дайуин", "дайсвойуин", "odin", "dva","tri", "chetire", "pyat", "shest" ,"sem" , "vosem","devyat","nol","уин"};
//Перевод всего сообщения в нижний регистр
String anticaps = msg.toLowerCase();
//удаления сообщения автоответчика
if(msg.indexOf("Автоматическое сообщение")>=0){
msg="";
return;
}
//удаления всех разделителей в сообщений
for(int i=0;i
}
//Замена всех запрещенных слов на цифру 0
for(int i=0;i
}
//Проверка сколько цифр в сообщение если их больше 2 то сообщение стерается
char[] c = anticaps.toCharArray();
for (int i = 0; i < c.length; i++){
if(c[i]==48)a++;//=="0"
if(a>2){
Log.talk("ВНИМАНИЯ фильтр рекламы: " + msg);
msg = "Сообщение удаленно в связи с рекламой uin! UIN только в приват команда +р Ид текст";
return;
}
}[/spoil]
Кто подскажет как сделать чтобы этот скрипт не реагировал на команды где нужны юины или цифры например команда !пригласитьуин 1313*** он ее как спам делает и блокирует как чтобы эти команды проходили ? и еше чтобы больше 2 не пропускала цифр вот например пишиш 18 лет так можно а если пишиш 18 19 20 999 чтобы толкьо 2 цифры пропускало и все !
#166
Отправлено 16 Декабрь 2009 - 19:24
Цитата
//Проверка сколько цифр в сообщение если их больше 2 то сообщение стерается if(!msg.charAt(0)=='!' || !msg.charAt(0)=='+'){ char[] c = anticaps.toCharArray(); for (int i = 0; i < c.length; i++){ if(c[i]==48)a++;//=="0" if(a>2){ Log.talk("ВНИМАНИЯ фильтр рекламы: " + msg); msg = "Сообщение удаленно в связи с рекламой uin! UIN только в приват команда +р Ид текст"; return; } } }
И из разделителей убери "!"
#167
Отправлено 16 Декабрь 2009 - 22:55
Ну есть новый вопрос как сделать кроме оповешения в лог оповешения на юин того кто кинул номер в чат типо твое смс не дошло заблокировано как сделать?
proc.mq.add(uin,"СМС ЗАБЛОКИРОВАНо"); делал так не получилось подскажи
#168
Отправлено 16 Декабрь 2009 - 23:46
#169
Отправлено 10 Июнь 2010 - 07:21
п.с. Не знаю как скажется на нагрузку.
Сообщение отредактировал fraer72: 10 Июнь 2010 - 07:56
#170
Отправлено 10 Июнь 2010 - 07:38

п.с тестил робит
на нагрузку не проверял
(Сообщение удаленно в связи с рекламой uin)
эт я под ся переделал
Сообщение отредактировал DRAGON: 10 Июнь 2010 - 08:18
#171
Отправлено 18 Июнь 2010 - 14:00
Сообщение отредактировал assassins4: 18 Июнь 2010 - 14:00
#172
Отправлено 18 Июнь 2010 - 14:11
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых пользователей