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

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

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



Manual kick/ban with F2 button

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

1

Hello Epic,

Please go through the code which i have already been using since long.

Код:
on *:join:#: {
  set %chan_exceptions 
  if ($istok(%chan_exceptions,$chan,32) == $true) { return }
  set -u10 %lastJoin. [ $+ [ $chan ] ] $chan $nick
}
alias f2 {
  var %check_value $eval($+(%,lastJoin.,$active),2)
  if (%check_value  == $null) { return }
  var %nick $gettok(%check_value,2,32) 
  var %chan $gettok(%check_value,1,32) 
  var %KICKMSG 1[4Ab/Fld1] Purged!
  mode %chan +bb $address(%nick,2) %nick
  kick %check_value %KICKMSG
}

;Double Click Ban

on $^*:hotlink:/(@[^\s)]+\56[^\s)\56]+)/S:#:{
  if ($me !isop $chan) && ($me !ishop $chan) { halt }
}
on $*:hotlink:/(@[^\s)]+\56[^\s)\56]+)/S:#:{
  !mode $chan $iif(*!* $+ $regml(1) isban $chan,-b,+b) *!* $+ $regml(1)
}
on $^*:hotlink:/([a-zA-Z_\Q\[]{}^`|\E][a-zA-Z0-9_\Q\[]{}^`|\E-]*)/S:#:{
  if ($regml(1) !ison $chan) { halt }
  if ($me !isop $chan) && ($me !ishop $chan) { halt }
}
on $*:hotlink:/([a-zA-Z_\Q\[]{}^`|\E][a-zA-Z0-9_\Q\[]{}^`|\E-]*)/S:#:{
  !ban -k $chan $regml(1) 2 1[4Flood Bot1] You are not welcomed!
}

let me tell you what exactly this code does. i need to press f2 to kick an abuser/flooder. it sets 2 different bans in one f2 button press. 1st. nickname ban 2nd full address ban (ban 2). this function is used for super fast kick/ban of an abuser.

What i am looking for:

1. can we use this code and write all the banned nicks and ips into one blacklisted file (supposedly, the badnicks.txt file from earlier code).
2. this code is not automatic so it may doesnt have to read the badnicks.txt file just to ban abusers.
3. a central repository file (badnicks.txt) could be very helpful in adding all the abusive nicks and ips at one place and use it :d

your suggestions are always welcome

Thanks & Regards,

Sleepyhead

2

1273,362 написал(а):

1. can we use this code and write all the banned nicks and ips into one blacklisted file (supposedly, the badnicks.txt file from earlier code).
2. this code is not automatic so it may doesnt have to read the badnicks.txt file just to ban abusers.
3. a central repository file (badnicks.txt) could be very helpful in adding all the abusive nicks and ips at one place and use it :d

Попробуйте использовать такую модификацию скрипта:

Код:
# Mod v1.0 by Epic (epicnet@mail.ru, http://epicnet.ru)
-----------------------------------------------------
alias xx_set {
  %xx_chan_except = #channel1,#channel2,#channel3
  %xx_var_time = 10
  %xx_msg_kick = 1[4Ab/Fld1] Purged!
  %xx_bd_write = yes
  %xx_bd_path = scripts\BadUser\baduser.txt
}
-----------------------------------------------------
on *:JOIN:#: {
  xx_set | if ($istok(%xx_chan_except,$chan,44)) { halt }
  .hadd $+(-mu,%xx_var_time) lastjoin $chan $chan $nick
}
alias F2 {
  xx_set | if ($hget(lastjoin,$active) == $null) { halt }
  var %xx_last $hget(lastjoin,$active)
  var %nick $gettok(%xx_last,2,32)
  var %host $gettok($address(%nick,5),2,64)
  var %chan $gettok(%xx_last,1,32)
  if (%xx_bd_write == yes) .write -il1 %xx_bd_path $+(%nick,$chr(59),%host,$chr(59),%xx_msg_kick)
  if ($me isop $active) { .mode %chan +bb $+(%nick,!*@*) $+(*!*@,%host) | .kick %chan %nick %xx_msg_kick }
}
-----------------------------------------------------
# Double Click Ban

on $^*:HOTLINK:/(@[^\s)]+\56[^\s)\56]+)/S:#:{
  if ($me !isop $chan) && ($me !ishop $chan) { halt }
}
on $*:HOTLINK:/(@[^\s)]+\56[^\s)\56]+)/S:#:{
  !mode $chan $iif(*!* $+ $regml(1) isban $chan,-b,+b) *!* $+ $regml(1)
}
on $^*:HOTLINK:/([a-zA-Z_\Q\[]{}^`|\E][a-zA-Z0-9_\Q\[]{}^`|\E-]*)/S:#:{
  if ($regml(1) !ison $chan) { halt }
  if ($me !isop $chan) && ($me !ishop $chan) { halt }
}
on $*:HOTLINK:/([a-zA-Z_\Q\[]{}^`|\E][a-zA-Z0-9_\Q\[]{}^`|\E-]*)/S:#:{
  !ban -k $chan $regml(1) 2 1[4Flood Bot1] You are not welcomed!
}

Все настройки производятся в алиасе "xx_set". Думаю, что там всё понятно по названию самих переменных  http://epicnet.ru/smiles/epic-mix/smile_kind.gif

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

[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) <span class="desc">Кодировка:</span> UTF-8<br><div></td></tr></table>[/html]

3

Хай, Epic!

Спасибо за обновление. Это работает именно для того, для чего предназначено. Хотя, просто быстрый вопрос: - Вы добавили "hadd" (если я не ошибаюсь, это хеш-указатель) для добавления чего-то в код, но вывод в формате .txt, который обычно хорошо сочетается с "write -l1". Будет ли это работать в долгосрочной перспективе?

В остальном отличная работа!

Большое спасибо,

Sleepyhead (Соня).

4

1276,362 написал(а):

Хотя, просто быстрый вопрос: - Вы добавили "hadd" (если я не ошибаюсь, это хеш-указатель) для добавления чего-то в код, но вывод в формате .txt, который обычно хорошо сочетается с "write -l1". Будет ли это работать в долгосрочной перспективе?

Это было сделано для более удобной записи и хранения временных данных с ником подключившегося к каналу пользователя "#channel nick", которые должны будут автоматически удаляться по истечению заданного времени (в данном случае через 10 секунд). Это равнозначно предыдущей создаваемой переменной, но теперь это делается в более удобной форме хранения и последующего извлечения данных. Это никак не влияет на команду "write -l1", которая выполняет запись в первую строку файла по указанному пути, в общую базу данных всех нарушителей порядка.

Всё будет работать так же как это было задумано раньше. На данном уровне скриптования вам будет удобнее работать с текстовым форматом базы данных.

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

[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) <span class="desc">Кодировка:</span> UTF-8<br><div></td></tr></table>[/html]

5

1277,2 написал(а):

Это было сделано для более удобной записи и хранения временных данных с ником подключившегося к каналу пользователя "#channel nick", которые должны будут автоматически удаляться по истечению заданного времени (в данном случае через 10 секунд). Это равнозначно предыдущей создаваемой переменной, но теперь это делается в более удобной форме хранения и последующего извлечения данных. Это никак не влияет на команду "write -l1", которая выполняет запись в первую строку файла по указанному пути, в общую базу данных всех нарушителей порядка.

Всё будет работать так же как это было задумано раньше. На данном уровне скриптования вам будет удобнее работать с текстовым форматом базы данных.

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

Hey Epic,

indeed bro, in fact this helps a lot. just my concern is what if i start storing large data of nicknames;host;reason in .txt format. as far as my understanding goes, when the database file is huge it takes significant time for the code to scan the user and match it with the database entry already stored. although,  i agree that .txt file does help me in altering or modifying the data in plain text which is very easy to do but in a longer run will it slow down?

Thanks & Regards,

Sleepyhead

Быстрый ответ

Напишите ваше сообщение и нажмите «Отправить»