Перейти к содержимому


Messages.bsh


Сообщений в теме: 171

#161 F1aME

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 189 сообщений
  • ГородКиров

Отправлено 23 Ноябрь 2009 - 01:42

Смотри в готовых скриптах

#162 Ar2r

    Dexsor

  • Специалисты
  • PipPipPipPipPip
  • 1 137 сообщений

Отправлено 23 Ноябрь 2009 - 20:59

F1aME сказал:

[spoil]import ru.jimbot.modules.AbstractServer;
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 if (msg.toLowerCase().indexOf(ch[i])>=0){
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 F1aME

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 189 сообщений
  • ГородКиров

Отправлено 27 Ноябрь 2009 - 20:42

[spoil]import ru.jimbot.modules.AbstractServer;
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 if (msg.toLowerCase().indexOf(ch[i])>=0){
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 F1aME

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 189 сообщений
  • ГородКиров

Отправлено 27 Ноябрь 2009 - 20:44

Только впишите свой уин :)

#165 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 16 Декабрь 2009 - 19:14

[spoil]/*
* Анти реклама 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 anticaps = anticaps.replace(antirazd[i],"");
}

//Замена всех запрещенных слов на цифру 0
for(int i=0;i anticaps = anticaps.replace(antiuin[i],"0");
}

//Проверка сколько цифр в сообщение если их больше 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 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 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 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 16 Декабрь 2009 - 22:55

Саня большое спасибо я разобрался !

Ну есть новый вопрос как сделать кроме оповешения в лог оповешения на юин того кто кинул номер в чат типо твое смс не дошло заблокировано как сделать?

proc.mq.add(uin,"СМС ЗАБЛОКИРОВАНо"); делал так не получилось подскажи

#168 F1aME

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 189 сообщений
  • ГородКиров

Отправлено 16 Декабрь 2009 - 23:46

Arkadik007 ты всю тему с начала прочти и поймёшь :twisted:

#169 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 10 Июнь 2010 - 07:21

Решил выложить свой вариант анти-рекламы:

Скрытый текст

п.с. Не знаю как скажется на нагрузку.

Сообщение отредактировал fraer72: 10 Июнь 2010 - 07:56


#170 dragon_94

    Профи

  • Пользователи
  • PipPipPipPipPip
  • 1 353 сообщений

Отправлено 10 Июнь 2010 - 07:38

+ саньк :wink:
п.с тестил робит
на нагрузку не проверял
(Сообщение удаленно в связи с рекламой uin)
эт я под ся переделал

Скрытый текст

Сообщение отредактировал DRAGON: 10 Июнь 2010 - 08:18


#171 _MasteR_

    Профи

  • Пользователи
  • PipPipPipPipPip
  • 768 сообщений
  • ГородSearchMe

Отправлено 18 Июнь 2010 - 14:00

Скрытый текст

Сообщение отредактировал assassins4: 18 Июнь 2010 - 14:00


#172 Clo

    Профи

  • Модераторы
  • 890 сообщений

Отправлено 18 Июнь 2010 - 14:11

Скажу я в чатике модеры суки, а всем будет видно только модеры [мат], где логика?





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей