EpicNet.Ru - Форум IRC Чата

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » EpicNet.Ru - Форум IRC Чата » HELP SCRIPTS - Помощь по mIRC скриптам » ban-kik bad nick for who in room


ban-kik bad nick for who in room

Сообщений 1 страница 9 из 9

1

Hi, I have this script that works fine.
when they enter the room or change their nickname inside the room.
would it be possible that when i enter a room as a moderator i would make a who and kick-ban the bad nick.
thanks
I'm sorry for my english but I'm spanish and the translator we already know....

Код:
on 1:join:#: {
  $BaneaUsuarios($nick,$chan)
}


On *:nick:{
  var %a 1 | while ($comchan($newnick, %a)) { $BaneaUsuarios($newnick,$v1) | inc %a }
}


alias BaneaUsuarios {
  var %cuentaNicks = 1
  while (%cuentaNicks <= $lines(patrones.txt)) {
    if ($read(patrones.txt,%cuentaNicks) isin $1) || ($read(patrones.txt,%cuentaNicks) iswm $1) {
      var %cuentaExcepciones = 1
      while (%cuentaExcepciones <= $lines(patrones-exceptuados.txt)) {
        if ($read(patrones-exceptuados.txt,%cuentaExcepciones) isin $1) || ($read(patrones-exceptuados.txt,%cuentaExcepciones) iswm $1) {
          halt
        }
        inc %cuentaExcepciones
      }
      ban $2 $1 $+ !*@* | kick $2 $1 1Su nick no es el mas adecuado para la tematica del canal 4 $chan 1Por Favor, cambielo. 4Gracias.
      halt
    }
    inc %cuentaNicks
  }
}
Подпись автора

Mi ingles: no es el mejor, Manda el traductor... :writing:

2

1372,370 написал(а):

would it be possible that when i enter a room as a moderator i would make a who and kick-ban the bad nick.

Если я правильно понял перевод вашего текста, то вы хотите, чтобы после того как вы подключились к каналу, скрипт (который установлен внутри вашего mIRC) автоматически выполнял команду "/who $chan" для проверки всех ников, которые находятся на этом канале, и в случае обнаружения ников или их адресов в списке файла "patrones.txt" - был установлен Ban+Kick.

Я кое что изменил в вашем скрипте и добавил новые строки. Теперь вы можете использовать значения переменных в алиасе "settings" для настройки скрипта.

Список "patrones.txt" может содержать как ники, так и полные или частичные пользовательские маски адресов с подстановочными знаками:

troll
*vasya*
*!spam@*
*!*@55.66.*
*@*.77.88
*!testing@99.111.*
flood!*@11.22.33.44

Идентификатор $BanUsers() - теперь получает 3 параметра: $nick, $address/$mask, $chan

[indent=0.8,0.5]
Рекомендация: При создании кода старайтесь всегда использовать ТОЛЬКО английские слова в названиях: Файлов, Алиасов, Переменных, Идентификаторов и т.д. Если вы не знаете английского языка, то можно воспользоваться онлайн переводчиком. Это важно, и поможет в дальнейшем избежать некоторых ошибок, а также сделает ваш код более понятным и доступным для людей, чей родной язык отличается от вашего, когда они будут изучать код для оказания вам помощи, а также будут вносить в него какие-то изменения.


Итак, вы можете попробовать использовать этот код скрипта:

Код:
alias -l settings {
  %path_file1 = $scriptdir $+ patrones.txt
  %path_file2 = $scriptdir $+ patrones-exceptuados.txt
  %kick_text = 01Su nick no es el mas adecuado para la tematica del canal4 :chan: 01Por Favor, cambielo. 04Gracias.
}
--------------------------------------------------
on *:OP:#: if ($opnick == $me) { .hadd -m badnicks nowho 1 | who $chan }
on *:JOIN:#: $BanUsers($nick,$address($nick,5),$chan)
on *:NICK: var %a 1 | while ($comchan($newnick,%a)) { $BanUsers($newnick,$address($newnick,5),$v1) | inc %a }
raw 352:*: haltdef | if ($hget(badnicks,nowho)) $BanUsers($6,$+($6,!,$3,@,$4),$2)
raw 315:*: haltdef | if ($hget(badnicks,nowho)) .hdel -sw badnicks nowho
--------------------------------------------------
alias -l BanUsers {
  settings | var %accNicks 1
  while (%accNicks <= $lines(%path_file1)) {
    var %pn $read(%path_file1,%accNicks)
    if (%pn isin $1) || (%pn iswm $2) {
      var %accExcepts 1
      while (%accExcepts <= $lines(%path_file2)) {
        var %pen $read(%path_file2,%accExcepts)
        if (%pen isin $1) || (%pen iswm $2) { return }
        inc %accExcepts
      }
      ban $3 $+($1,!*@*) | kick $3 $1 $replace(%kick_text,:chan:,$3) | return
    }
    inc %accNicks
  }
}
Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4898CD;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#ADADAD;}a .curl{font-family:Verdana;font-size:13px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="https://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="https://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - IRC Чат © 2008</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Вход через вебгейт:</span> <a href="http://irc.epicnet.ru"><span class="curl">http://irc.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl)<br><div></td></tr></table>[/html]

3

Hi Epic, thanks for replying
the script helped me to do it on an ircap forum which no longer exists.
as I pasted it works, when bad nick enter room or inside it new nick the ban-kik .
why the idea arises that when I enter and chan OP me look at the nick that are already inside the room and if any match the list of nick patrones.txt ban-kik him.
because if you enter a room with 200,400,600,1000 users you can imagine how long it takes to look at all the nicknames.
the script that you created and recommended to me does nothing at all neither when you enter, change, nor when I enter and chan me OP. again thanks and I hope I explained myself well and the translator translate in the same way.

https://forumupload.ru/uploads/000d/c9/8c/370/476544.jpg

Отредактировано malaje (10.11.2022 03:29)

Подпись автора

Mi ingles: no es el mejor, Manda el traductor... :writing:

4

malaje, Добрый вечер. Я не совсем понимаю перевод вашего текста. Постарайтесь не использовать сокращения слов, не допускать орфографических ошибок и писать более полные слова для правильного перевода текста. Возможно в этом причина трудности перевода. Если вы пишите текст основываясь только на собственные познания английского языка, то попробуйте довериться онлайн переводчику Google Translate. Если вам трудно использовать английский язык, то вы можете попробовать написать вопрос на русском языке, или даже использовать родной язык, как я понимаю это испанский.

Скажите пожалуйста, вам помогли те изменения, которые я сделал в скрипте? Всё ли правильно работает?

Если вы хотите что-то изменить или добавить, или вы заметили какие-то ошибки в работе скрипта, то пожалуйста опишите их в более подробной форме.
Это должна быть полная последовательность действий, по пунктам (1, 2, 3...), которые нужно выполнить, чтобы выявить проблему неработоспособности скрипта.

[indent=0.8,0.5]
Скриншот, который вы прислали очень маленького размера и я почти не могу ничего разглядеть на нём для прочтения текста.
Не могли бы вы сделать скриншот в более высоком разрешении, например (Full HD) 1920x1080 ?

Для примера: Здесь можно создать превью с уменьшенным изображением, которое можно увеличить кликом мыши:
https://forumupload.ru/uploads/000d/c9/8c/330/t791801.jpg
Это очень удобно и выглядит компактно при оформлении нового поста.

Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4898CD;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#ADADAD;}a .curl{font-family:Verdana;font-size:13px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="https://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="https://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - IRC Чат © 2008</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Вход через вебгейт:</span> <a href="http://irc.epicnet.ru"><span class="curl">http://irc.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl)<br><div></td></tr></table>[/html]

5

Hola Epic te hablo en mi idioma español
disculpa por las traducciones, pero es el traductor de Google el que no traduce de la misma manera que me expreso.
Resumiendo que el script que as transformado o echo no funciona en absoluto.
Como yo lo copie sacaba a los malos nick tanto en join como, en cambio, dentro de la sala.
Que previamente añadías los nick incluso con comodín * en "patrones.txt" (baneaba) y (excluía) a los que añadías en "patrones-exceptuados.txt", ya que si entraba amador sería excluido, pero si entraba mamador seria baneado de ahí dos listas.
La ayuda que solicite es para sí alguien podría mejorarlo haciendo lo que ya hacía más, cuando yo entrara en una sala que fuera moderador mirara la lista de nick que ya están en dicha sala y si coincide con nick que ya están en la lista de "patrones.txt" los saque

ejemplo: entro en la sala y hay 10 user chan me da la @

pepe
manolo
juan
amador
mamador
María
ana
Begoña
Aitana
Emma

que el script revise la lista de user ya en sala solo cuando yo entro en sala y channel me da @ y saque a los malos nick añadido a la lista de "patrones.txt"
en este caso sería mamador
amador estaría en la lista de excluidos
espero se me entienda y te vuelvo a pedir disculpas, gracias

Подпись автора

Mi ingles: no es el mejor, Manda el traductor... :writing:

6

malaje, Я не совсем понимаю из вашего поста в чём может быть причина неработоспособности скрипта или что вы в нём хотели бы исправить. У меня при тестировании всё работает хорошо.

Последовательность действий, которые нужно выполнить, чтобы проверить работоспособность скрипта:

  • В корневой папке $mircdir, где установлен ваш mIRC открыть папку "scripts", внутри неё создать новую папку "BadNicks", и далее открыть её.

  • Внутри папки "BadNicks" создать файл с названием "BadNicks.mrc", далее открыть файл и сохранить в нём этот код скрипта.

  • Там же рядом создать 2 файла с названиями "patrones.txt" (для бана плохих пользователей) и "patrones-exceptuados.txt" (для исключения пользователей).

  • Запустить ваш mIRC и выполнить команду "/load -rs scripts\BadNicks\BadNicks.mrc", чтобы загрузить скрипт.

  • Подключиться к сети и зайти на канал, где вы являетесь оператором канала со знаком @ возле ника.

  • После того как вы получите статус оператора канала @, скрипт автоматически выполнит команду "/who $chan", чтобы проверить полный список пользователей канала и последовательно сравнит их со списком записей в файле "patrones.txt". Допустим, если в вашем списке есть строка с ником "troll", то пользователь под этим ником будет забанен на этом канале, при условии, что этот ник отсутствует в списке исключений в файле "patrones-exceptuados.txt".

Пример расположения файлов с данными:
https://forumupload.ru/uploads/000d/c9/8c/330/82903.png     https://forumupload.ru/uploads/000d/c9/8c/330/933587.png

[indent=0.8,0.5]
Скриншот с демонстрацией работоспособности скрипта:
https://forumupload.ru/uploads/000d/c9/8c/2/254824.png

Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4898CD;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#ADADAD;}a .curl{font-family:Verdana;font-size:13px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="https://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="https://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - IRC Чат © 2008</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Вход через вебгейт:</span> <a href="http://irc.epicnet.ru"><span class="curl">http://irc.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl)<br><div></td></tr></table>[/html]

7

Hola Epic
ya di con mi error, por eso no me funcionaba
cuando introducía los malos nick lo hacía atrás vez de comando por esta ruta:
  write patrones.txt
el cual a la hora de leer el script los archivos de texto que apuntan hacia otra ruta están vacíos estaban vacíos el cual no hacía nada, ya que no contenía nick malos dichos TXT.
Ahora le di la ruta correspondiente y efectivamente funciona
write $scriptdirpatrones.txt

Nuevamente, disculpa, pero aprendemos de prueba y error y estoy aprendiendo cada día que pasa nuevamente gracias.

PD: espero que en salas grandes de 200 o mas user no aga flood de ban masivo y me saque el propio servidor

Подпись автора

Mi ingles: no es el mejor, Manda el traductor... :writing:

8

Hola de nuevo Epic.
Habría alguna forma, que en vez de banear uno por uno a los nick malos de la lista de user,
fuera posible mode #channel +bb nick1 nick2 !*@* etc. es un ejemplo si hubiese más o menos nick ya el script sacaría a los que encontrara en lista. nuevamente muchas gracias

Подпись автора

Mi ingles: no es el mejor, Manda el traductor... :writing:

9

bueno parece queda sin respuesta gracias de todos modos por la ayuda, un placer

Подпись автора

Mi ingles: no es el mejor, Manda el traductor... :writing:


Вы здесь » EpicNet.Ru - Форум IRC Чата » HELP SCRIPTS - Помощь по mIRC скриптам » ban-kik bad nick for who in room