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

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

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


Вы здесь » EpicNet.Ru - Форум IRC Чата » HELP SCRIPTS - Помощь по mIRC скриптам » Protection a channel using a userlist $ulist()


Protection a channel using a userlist $ulist()

Сообщений 11 страница 20 из 24

11

1508,379 написал(а):

Ident can be Kupidi@ thelounge@ Mibbit@  depends or random is not important

Тогда вы можете просто убрать из кода соответствующее условие проверки [c=red]if (%ident == Mibbit) { ... }[/c] вместе с фигурными скобками, но оставьте тело этого условия.

Код с изменениями:

Код:
menu status,channel,query {
  PROTECTION On Join
  .On: .enable #PROTECTION | echo -a 03* PROTECTION Is ON * 
  .Off: .disable #PROTECTION | echo -a 04* PROTECTION Is OFF * 
}

#PROTECTION on
on @!*:JOIN:#test,#test2:{
  var %fullhost $address($nick,5), %domain $address($nick,4)
  var %host $address($nick,2), %bhost $gettok(%host,2,64)
  var %ident $remove($gettok($gettok(%fullhost,2,33),1,64),~)
  var %tokhost $calc($numtok(%bhost,46) -1)
  
  if ($right(%bhost,2) != IP) var %banmask $+(*!*@*,$gettok(%bhost,2-,46))
  else var %banmask $+(*!*@*,$gettok(%bhost,-1- %tokhost,46))
  
  if (%ident isin $nick && !$ulist(%host,host,0)) { userban %bhost %banmask }
  if (!$ulist(%domain,host,0)) { userban %bhost %banmask }
}
alias -l userban { mode $chan +b $2 | .timerULISTUNBAN $+ $1 1 3600 mode $chan -b $2 }
#PROTECTION end
Подпись автора

[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]

12

Код:
menu status,channel,query {
  PROTECTION On Join
  .On: .enable #PROTECTION | echo -a 03* PROTECTION Is ON * 
  .Off: .disable #PROTECTION | echo -a 04* PROTECTION Is OFF * 
}

#PROTECTION on
on @!*:JOIN:#shoqeria:{
  var %fullhost $address($nick,5 ), %domain $address($nick,4)
  var %host $address($nick,2), %bhost $gettok(%host,2,64)< a i=4> var %ident $remove($gettok($gettok(%fullhost,2,33),1,64),~)
  var %tokhost $calc($numtok(% bhost,46) -1)  
  if (%ident == Mibbit) {     
    if ($right(%bhost,2) != IP) 
    var % banmask $+( *!*@*,$gettok(%bhost,2-,46))    
  else var %banmask $+(*!*@*,$gettok(%bhost, -1- % tokhost,46))  }  
  if (%ident isin $nick && !$ulist(%host,host,0) ) { userban % bhost %banmask } 
  if (!$ulist(%domain,host,0)) { userban %bhost %banmask }
}
#PROTECTION end
alias -l userban { mode $chan +b $2 | .timerULISTUNBAN $+ $1 1 3600 mode $chan -b $2 }

* userban Unknown command

[16:59:00] * laura (Mibbit@6A4E583B.689713F7.7A5BC04B.IP)
[16:59:00] * TnT sets mode: +b a!*@*

Отредактировано denis (19.12.2023 18:02)

13

Пожалуйста НЕ используйте переводчик страницы форума во время копирования кода, т.к. это ломает его синтаксис и может изменить структуру строк кода, что приводит к его неисправности и неработоспособности. Поэтому при копировании кода вы должны всегда открывать страницу в оригинальном виде (БЕЗ ПЕРЕВОДА), в данном случае только на русском языке. Используйте переводчик только в случае, когда вам нужно прочитать текст на другом языке, но не тогда, когда вы хотите скопировать код скрипта. Спасибо.

Для сравнения прикрепляю два скриншота - 1 с моим кодом, 2 то, что прислали вы, после его искажения переводчиком страницы:
https://i.ibb.co/KyZ89wR/my-code.png
https://i.ibb.co/QHLxTNq/you-code.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:#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]

14

Ok thx a lot bro

15

Question: Is possible any comand to use to add userlist the domain like "/hadd Host:*!*@*.cgn.sunrise.net" when is added to unban the domain on channel ?

Also please fix this:

[17:40:16] * Pejani-ch (Mibbit@Test-E3E8C23E.cgn.sunrise.net)
[17:40:16] * TnT sets mode: +b *!*@*cgn.sunrise.net

Need to set:

+b *!*@*.cgn.sunrise.net

Отредактировано denis (19.12.2023 18:46)

16

1513,379 написал(а):

Question: Is possible any comand to use to add userlist the domain like "/hadd Host:*!*@*.cgn.sunrise.net" when is added to unban the domain on channel ?

Команда "hadd" уже зарезервирована в качестве встроенной mIRC команды и используется для других целей. Подробнее здесь: https://en.wikichip.org/wiki/mirc/commands/hadd
Для вашей цели вы можете использовать другую встроенную команду "auser". Подробнее здесь: https://en.wikichip.org/wiki/mirc/commands/auser

Пример: /auser host *!*@*.cgn.sunrise.net

[indent=0.8,0.5]
Также я внёс изменения в код с учётом ваших замечаний. Попробуйте использовать этот вариант:

Код:
menu status,channel,query {
  PROTECTION On Join
  .On: .enable #PROTECTION | echo -a 03* PROTECTION Is ON * 
  .Off: .disable #PROTECTION | echo -a 04* PROTECTION Is OFF * 
}

#PROTECTION on
on @!*:JOIN:#test,#test2:{
  var %fullhost $address($nick,5), %domain $address($nick,4)
  var %host $address($nick,2), %bhost $gettok(%host,2,64)
  var %ident $remove($gettok($gettok(%fullhost,2,33),1,64),~)
  var %tokhost $calc($numtok(%bhost,46) -1)
  if ($right(%bhost,2) != IP) var %banmask $+(*!*@*.,$gettok(%bhost,2-,46))
  else var %banmask $+(*!*@*.,$gettok(%bhost,%tokhost -,46))
  if (%ident isin $nick && !$ulist(%host,host,0)) { userban %bhost %banmask }
  if (!$ulist(%domain,host,0)) { userban %bhost %banmask }
}
alias -l userban { mode $chan +b $2 | .timerULISTUNBAN $+ $1 1 3600 mode $chan -b $2 }
#PROTECTION end
Подпись автора

[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]

17

Thank a lot bro! Now is work good. Thank again for your time and help 

18

Bro 2 questions:

1. If i want add a mute ban "+b ~q:*!*@*.cgn.sunrise.net", where do I need to add "~q:" ?
2. Also, when I add the "/auser host *!*@*.cgn.sunrise.net" command, is it possible to make sure that the ban is auto removed from the channel ?

Thank you in advance.

19

1516,379 написал(а):

1. If i want add a mute ban "+b ~q:*!*@*.cgn.sunrise.net", where do I need to add "~q:" ?

Вы можете добавить это в строках 13 и 14, там где формируется маска с адресом пользователя для установки бана:

Строка 13: [c]if ($right(%bhost,2) != IP) var %banmask $+(~q:*!*@*.,$gettok(%bhost,2-,46))[/c]
Строка 14: [c]else var %banmask $+(~q:*!*@*.,$gettok(%bhost,%tokhost -,46))[/c]

[indent=0.8,0.5]

1516,379 написал(а):

2. Also, when I add the "/auser host *!*@*.cgn.sunrise.net" command, is it possible to make sure that the ban is auto removed from the channel ?

Это можно решить с помощью добавления алиаса с названием, которое вы хотите использовать в качестве команды. В тело этого алиаса можно добавить сразу 2 команды. Это команда для записи адреса пользователя в список исключения и команда для снятия бана с адреса, который предварительно нужно будет найти в списке банов канала при помощи перебора циклом.

Пример алиаса: [c]alias au { auser $1- | var %i 1 | while (%i <= $ibl($chan,0)) { if ($2 iswm $ibl($chan,%i)) mode $chan -b $v2 | inc %i } }[/c]

После этого вы сможете использовать команду "/au host *!*@*.cgn.sunrise.net", которая будет делать то, что вы хотите.


Итак со всеми изменениями ваш код теперь должен выглядеть так:

Код:
menu status,channel,query {
  PROTECTION On Join
  .On: .enable #PROTECTION | echo -a 03* PROTECTION Is ON * 
  .Off: .disable #PROTECTION | echo -a 04* PROTECTION Is OFF * 
}

#PROTECTION on
on @!*:JOIN:#test,#test2:{
  var %fullhost $address($nick,5), %domain $address($nick,4)
  var %host $address($nick,2), %bhost $gettok(%host,2,64)
  var %ident $remove($gettok($gettok(%fullhost,2,33),1,64),~)
  var %tokhost $calc($numtok(%bhost,46) -1)
  if ($right(%bhost,2) != IP) var %banmask $+(~q:*!*@*.,$gettok(%bhost,2-,46))
  else var %banmask $+(~q:*!*@*.,$gettok(%bhost,%tokhost -,46))
  if (%ident isin $nick && !$ulist(%host,host,0)) { userban %bhost %banmask }
  if (!$ulist(%domain,host,0)) { userban %bhost %banmask }
}
alias -l userban { mode $chan +b $2 | .timerULISTUNBAN $+ $1 1 3600 mode $chan -b $2 }
#PROTECTION end

alias au { auser $1- | var %i 1 | while (%i <= $ibl($chan,0)) { if ($2 iswm $ibl($chan,%i)) mode $chan -b $v2 | inc %i } }

[indent=0.8,0.5]
Примечание:

Не все IRCd поддерживают переключатель "~q:" для расширенного бана канала. Данный формат будет некорректно работать на сервере, который использует InspIRCd.
Поэтому перед использованием данного переключателя рекомендуется проверить версию IRCd на вашем сервере с помощью команды "/version".
Ознакомиться с полным списком расширенных банов для InspIRCd можно здесь: https://docs.inspircd.org/3/extended-bans.
В этом случае правильный синтаксис команды будет таким: /mode #channel +b m:*!*@*.cgn.sunrise.net
Будьте внимательны, т.к. иначе вы рискуете заблокировать доступ для всех пользователей канала.

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

[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]

20

But when i add with command /au host *!*@*.77F802B4.IP is no remove the ban +b ~q:*!*@*.77F802B4.IP

here mode $chan -b $v2  need something  mode $chan -b ~q: $+ $v2 ?

Отредактировано denis (21.12.2023 13:30)


Вы здесь » EpicNet.Ru - Форум IRC Чата » HELP SCRIPTS - Помощь по mIRC скриптам » Protection a channel using a userlist $ulist()