NOT WORK for me, no see error show. Try it again Epic. Thanks a lot my friend
P.S. I have already to turn all ON (Scan join nicks + Scan new nicks + Scan join me), but both of them NOT WORK.
EpicNet.Ru - Форум IRC Чата |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » EpicNet.Ru - Форум IRC Чата » HELP SCRIPTS - Помощь по mIRC скриптам » Auto scan for BadNicks when MyBot or users join a channel
NOT WORK for me, no see error show. Try it again Epic. Thanks a lot my friend
P.S. I have already to turn all ON (Scan join nicks + Scan new nicks + Scan join me), but both of them NOT WORK.
NOT WORK for me
У меня всё исправно и достаточно быстро работает, также как и в прошлый раз.
Попробуйте для тестирования использовать mIRC - только чистый клиент, без каких либо других скриптов.
Если этот скрипт по прежнему не будет работать, то тогда лучше обсудить вашу проблему в IRC чате.
Для подключения введите в вашем клиенте команду: /server -m irc.epicnet.ru 6667 -i Robert Robert_ Robert@Robert Robert -j #Code
Я отвечу вам, когда буду в онлайн и как только у меня появится свободное время.
Примечание: Присутствие моего ника в сети не означат, что я в онлайн, т.к. постоянное нахождение моего ника в чате поддерживается ZNC сервисом.
[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:#4897E7;}.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]
Dear my friend Epic!
I have some edited on your code, then it work now for: 1. Check badnick on nicks join. 2. Change badnick kick ban
Check badnick on BOT join channel NOT WORK.
Could you please to have look my edited code and fixed it for me. Thanks a lot friend!
Note: Some time BOT check badnick on join channel, not at all.
Here is your code i have edited:
;###################################################################### ;# Name: Scan Bad Nicks v1.2 (edit by Robert, mod v1) ;# Author: Epic (http://epicnet.ru, irc.epicnet.ru:6667 #Code) ;# Description: Scans all joining, as well as nicknames already present on the channel, when the Bot itself joins the channel. If bad words from the “badwords.txt” file are found in the nickname names, then “Kick+Ban” is performed. ;# Path: All working files with which the script interacts must be located in the same folder where the script itself is located: "scripts\ScanBadNicks\". ;###################################################################### menu * { - [29] Scan Bad Nicks .Start scanning: scan_start $chan .- .Scan on nicks join (All) ..$iif(%sbn_nicks_join == on,$style(1)) ON: %sbn_nicks_join = on | echo -a Auto scan badnick when nicks joined is 03ON ..$iif(%sbn_nicks_join == off,$style(1)) OFF: %sbn_nicks_join = off | echo -a Auto scan when nicks joined is now 04OFF .- .Scan new nicks (All) ..$iif(%sbn_nicks_new == on,$style(1)) ON: %sbn_nicks_new = on | echo -a Auto scan when changing to new nicks is 03ON ..$iif(%sbn_nicks_new == off,$style(1)) OFF: %sbn_nicks_new = off | echo -a Auto scan when changing to new nicks is now 04OFF .- .Scan on me join (Bot) ..$iif(%sbn_me_join == on,$style(1)) ON: %sbn_me_join = on | echo -a Auto scan when me joined is 03ON ..$iif(%sbn_me_join == off,$style(1)) OFF: %sbn_me_join = off | echo -a Auto scan when me joined is now 04OFF } ;---------------------------------------------------------------------- #badnickscan on on *:JOIN:#:{ if (!$read($file_chans,nw,$chan)) { return } if ($nick == $me) { .ial on | ialfill $chan } if ($nick != $me) && (%sbn_nicks_join == on) { check_badnick $chan $nick } } ;---------------------------------------------------------------------- on *:OP:#: { if (!$read($file_chans,nw,$chan)) { return } if (%sbn_me_join == on) && ($opnick == $me) { scan_start $chan } } ;---------------------------------------------------------------------- on *:NICK: { if (%sbn_nicks_new == on) { var %nick $newnick, %i $comchan(%nick,0 ) while (%i) { var %chan $comchan(%nick,%i) if ($read($file_chans,nw,%chan)) { check_badnick %chan %nick } dec %i } } } #badnickscan end ;---------------------------------------------------------------------- alias -l scan_start { if ($me !isop $1) { return } .enable #scanbadnicks | who $1 $+($chr(37),cn) } alias -l check_badnick { if ($me ison $1) && ($me isop $1) { var %f $file_badnick, %l $lines(%f), %i 1 while (%i <= %l) { if ($+(*,$read(%f,nt,%i),*) iswm $2) { ban $+(-ku,$ban_timer) $1 $2 2 $kick_reason } inc %i } } } ;---------------------------------------------------------------------- alias -l file_chans { return $mircdir $+ BADNICKSCAN_CHAN.txt } alias -l file_badnick { return $mircdir $+ nicksflood1.txt } alias -l ban_timer { return $rand(3600,10800) } alias -l kick_add_reason { return (for more information regarding your ban please join #HelpKick to ask for removal) } alias -l kick_reason { return 04([Banned ] (reason: BadNick/NickFlood/NickBlacklist are not permitted for this channel) [id: 1] - $kick_add_reason $+ ) } ;---------------------------------------------------------------------- #scanbadnicks off raw 354:*: { check_badnick $2 $3 | haltdef } raw 315:*: { .disable #scanbadnicks | haltdef } #scanbadnicks end
Я проверил предоставленный вами код и у меня он работает исправно.
Единственное, что вам следует изменить это [mark=red]menu *[/mark] на [mark=blue]menu channel[/mark], т.к. скрипт делает проверку списка пользователей только в окнах канала, и не делает это в любых других окнах mIRC, соответственно меню также должно работать только, когда вы его открываете правой кнопкой мыши в окне канала.
Также непонятно, зачем вы добавили эти строки [mark=red]#badnickscan on / #badnickscan end[/mark] для создания группы, если это нигде не управляется в коде. Вероятно это может быть причиной периодической неработоспособности скрипта, когда по какой то причине отключается целый блок с группой кода, меняя режим "on" на "off" [mark=red]#badnickscan off[/mark], что приводит к отключению этой группы кода и блокирует работу необходимых обработчиков событий. Как правильно использовать группы в коде вы можете прочитать об этом здесь: https://en.wikichip.org/wiki/mirc/groups
Убедительная просьба - если вы вносите какие то корректировки и изменения в код, который когда-то был написан мной, а потом вы публикуете этот код на форуме, то пожалуйста, в дополнение к моему авторству ставьте вашу подпись, что-то вроде этого "(edit by Robert, mod v1)", которая будет сообщать читателям, что этот код был изменён и отредактирован вами, и имеет свой индекс модификации исходного кода. Это нужно для того, чтобы не вводить читателей в заблуждение и чтобы исключить моё 100% авторство после новой редакции кода, в которой я не принимал участие, т.к. после этого могли появиться новые блоки с кодом, созданные в другом стиле, отличающимся от моего, в котором могут присутствовать лишние строки, символы или допущены различные синтаксические ошибки, приводящие к неисправности скрипта, или были внесены некорректные изменения, которые частично меняют функциональность или полностью ломают скрипт. Иными словами, если код был подвержен какому либо вмешательству/изменению, то об этом обязательно должна стоять соответствующая надпись (отметка) в коде, указывающая на автора внесённых изменений и индекс данной модификации. Спасибо.
[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:#4897E7;}.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]
Dear Epic!
1. I have already to change menu * to menu channel
2. Why you added these lines #badnickscan on / #badnickscan end <== Because i can use this command: !badnick <on|off> to turn On or Off group #badnickscan from anywhere.
3. I don't know why the code check on ME JOIN scan badnick is NOT WORK. (P/s: On Op event, On Nick event, Scan start and On Nick join WORK PERFECT)
Can you rewrite the code to check on ME JOIN and scan badnick on the channel? Thanks in advance
Because i can use this command: !badnick <on|off> to turn On or Off group #badnickscan from anywhere.
Хммм..., но я не увидел в предоставленном вами коде необходимого обработчика событий "ON TEXT" для создания подобной команды.
Can you rewrite the code to check on ME JOIN and scan badnick on the channel?
Я не знаю, что ещё нужно переписать в коде, чтобы это заработало у вас, т.к. у меня весь функционал скрипта работает исправно - следовательно я уже создал для вас полностью рабочий и исправный скрипт. Вероятно причина вашей проблемы кроется в особенностях AdiIRC, тогда как я создаю и тестирую все скрипты только в mIRC. Поэтому в дальнейшем вам придётся самостоятельно решать подобные проблемы по адаптации скриптов для вашего IRC клиента. Также вы можете обратиться в тех-поддержку AdiIRC по вопросу неработоспособности некоторых mIRC скриптов, которые по факту являются исправными, но они некорректно работают в AdiIRC. Или же вы можете просто попробовать использовать mIRC для вашего Бота.
Попробуйте изменить 35-ю строку в вашем коде:
if (%sbn_me_join == on) && ($opnick == $me) { scan_start $chan }
На эту строку:
if (%sbn_me_join == on) && ($opnick == $me) { .ial on | ialfill $chan | .timerSBN 1 5 scan_start $chan }
[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:#4897E7;}.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]
Line 35 is ON OP event? This event is work, no need rewrite.
I want to rewrite for check ON JOIN event: check on Bot join channel room and scan badnick and Kick+Ban if found.
Thanks in advance.
Вы же ранее предлагали использовать обработчик события "ON OP" для запуска проверки всех ников канала, как только Бот получит статус @ "OP" ??? ...
Ок. Попробуйте изменить в вашем коде эту часть так:
on *:JOIN:#:{ if (!$read($file_chans,nw,$chan)) { return } if ($nick == $me) && (%sbn_me_join == on) { .ial on | ialfill $chan | .timerSBN $+ $chan 1 5 scan_start $chan } if ($nick != $me) && (%sbn_nicks_join == on) { check_badnick $chan $nick } } ;---------------------------------------------------------------------- on *:OP:#:{ if (!$read($file_chans,nw,$chan)) { return } if ($opnick == $me) { echo -a Here the Bot must do something when it receives @OP on the channel $chan ... } }
Это должно работать, но теперь это никак не будет связано с событием "ON OP", т.к. проверка будет запускаться при срабатывании события "ON JOIN".
Вы можете самостоятельно отрегулировать в таймере "timerSBN" подходящее вам время задержки в секундах. Сейчас оно настроено на 5 секунд.
Также, если после этого вам больше не требуется использовать обработчик события "ON OP", то просто удалите его из вашего кода, вместе с телом события.
[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:#4897E7;}.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]
Вы здесь » EpicNet.Ru - Форум IRC Чата » HELP SCRIPTS - Помощь по mIRC скриптам » Auto scan for BadNicks when MyBot or users join a channel