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

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

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


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


Protection a channel using a userlist $ulist()

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

1

I want ban on join the domain of those user i dont have the host in userlist exemp with this command ban:  /xact $$1 # ban 3600 4

Userlist exemp:
[flist=black]host:*!*@*.dyn.cable.fcom.ch
host:*!*@*.CA0FD33B.IP
host:*!*@*.166AF304.IP[/flist]

My code:

Код:
ON !*:JOIN:#: {

  var %nick = $gettok($2,1,61)
  var %ident = $gettok($gettok($2,2,43),1,64)
  var %host = $gettok($gettok($2,2,43),2,64)
 
   if (!$ulist(%host,host,0)) {

     /xact $$1 # ban 3600 4 
}

Any help for this pls, ty in advance.

2

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

I want ban on join the domain of those user i dont have the host in userlist exemp with this command ban:  /xact $$1 # ban 3600 4

Мне не совсем понятен ваш вопрос. Что вы хотите сделать с помощью этого скрипта и как он должен работать? Не могли бы вы объяснить вашу идею более подробно, с описанием последовательности действий и способа воспроизведения скрипта, чтобы я смог получить наиболее ясный перевод текста, для понимания того, чем и как вам можно помочь.

Кроме того, в строке 3 [c=red]var %nick = $gettok($2,1,61)[/c] вы хотите сохранить в переменной Ник пользователя, который входит на канал, но это невозможно сделать с помощью идентификатора $2, т.к. он используется в других случаях, например, когда в алиас были переданы аргументы и вы хотите получить их значение. Поэтому в этом обработчике событий для получения данных пользователя вы можете использовать идентификаторы $nick, $address() и $ial(). Тоже самое в строках 4 и 5.

Как правильно использовать те или иные идентификаторы, и в каких случаях они применяются, вы можете прочитать по ссылкам ниже:

Также непонято, что делает команда "/xact" в строке 9 [c=red]/xact $$1 # ban 3600 4[/c] ??? В списке встроенных команд для mIRC подобная команда отсутствует, поэтому судя по всему эта команда передаёт указанные параметры для алиаса с таким же названием "xact", который по какой то причине отсутствует в предоставленном вами коде.
Так что данная функция для меня остаётся загадкой, покрытая тайной ... 

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

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

3

I have domain range exempt in userlist when a user join the channel  get banned when his domain or range  is not exist on exempt userlist and action ban to use this:  /xact $$1 # ban 3600 4

Is this code right:

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

}

#PROCTETION off


ON @!*:JOIN:#test,#test2: {

  var %host = $address($nick,2)
  var %domain = $address($nick,4)
  var %fullhost = $address($nick,5)

  var %ident = $remove($gettok($gettok(%fullhost,2,33),1,64),~)

  if (!$ulist(%domain,host,0)) { /xact $$1 # ban 3600 4 }

  if (%ident isin $nick) && (!$ulist(%host,host,0)) { 
   /xact $$1 # ban 3600 4
  }
}

#PROCTETION end

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

4

Если я правильно понял вашу идею, то в вашем коде почти всё правильно. Но мне пришлось немного подкорректировать его, в том числе из-за того, что я не знаю, что делает команда "/xact", которая присутствует в строках 19, 22, и это не будет работать в рамках предоставленного вами отрезка кода. Хотя очевидно, что с помощью этого вы хотите установить Бан на указанные данные входящего на канал пользователя, если его хост отсутствует в списке исключения $ulist(). Для работоспособности я изменил это на встроенную команду mIRC под названием "ban".
Как правильно использовать эту команду вы можете прочитать здесь: https://en.wikichip.org/wiki/mirc/commands/ban

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

Код:
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 off
on @!*:JOIN:#test,#test2:{

  var %host = $address($nick,2)
  var %domain = $address($nick,4)
  var %fullhost = $address($nick,5)
  var %ident = $remove($gettok($gettok(%fullhost,2,33),1,64),~)

  if (%ident isin $nick && !$ulist(%host,host,0)) { ban -u3600 # $nick 4 }
  if (!$ulist(%domain,host,0)) { ban -u3600 # $nick 4 }
}
#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]

5

I add exemp host this way  so the script need to recognise from this exemp ulist user:
[flist=black]host:*!*@*.D19A96E5.IP
host:*!*@*.1A419756.IP
host:*!*@*.9F1369E.IP
host:*!*@*.9D7200DB.IP
host:*!*@*.7305E40D.IP
host:*!*@*.F09C38BD.IP
host:*!*@*.7933E4EF.IP
host:*!*@*.BB7A69C7.IP
host:*!*@*.4CDFBD4.IP
host:*!*@*.FFE78B0B.IP
host:*!*@*.F8456016.IP
host:*!*@*.A807CEC5.IP
host:*!*@*.dyn.optonline.net
host:*!*@*.dab.02.net
host:*!*@*.home.otenet.gr
host:*!*@*.dsl.bell.ca
host:*!*@*.pool.telefonica.de
host:*!*@*.dynamic.dsl.as9105.com
host:*!*@*.retail.telecomitalia.it[/flist]

When user dont have host on exempt userlist and join channel with this host i want to ban this way if is possible:

Join: STORM (Mibbit@4B2F1041.54264357.E55BA4D1.IP)
Join: Melina (Mibbit@Test-6C4C845C.access.hol.gr)

set mode +b *!*@*.E55BA4D1.IP
set mode +b *!*@*.access.hol.gr

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

6

1 error status for #PROTECTION Unknown command

7

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

1 error status for #PROTECTION Unknown command

Если вы используете в скрипте только 18 строк опубликованного мной кода, то этой ошибки быть недолжно. Обратите внимание, что я изменил слово "PROCTETION" во всех строках предоставленного вами кода, на слово "PROTECTION", т.к. похоже оно было написано с ошибкой, если конечно это слово было написано с использованием английского языка.

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

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

8

is not ban the user on join when their domain is not exemp on Uselist maybe is not match exempt userlist host:*!*@*.D19A96E5.IP  host:*!*@*.retail.telecomitalia.it

9

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

When user dont have host on exempt userlist and join channel with this host i want to ban this way if is possible ...

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

is not ban the user on join when their domain is not exemp on Uselist maybe is not match exempt userlist host:*!*@*.D19A96E5.IP  host:*!*@*.retail.telecomitalia.it

Ок. Я внёс некоторые изменения в код скрипта.

Попробуйте использовать этот вариант:

Код:
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 (%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 }
}
alias -l userban { mode $chan +b $2 | .timerULISTUNBAN $+ $1 1 3600 mode $chan -b $2 }
#PROTECTION end

Скриншот:
https://i.ibb.co/BjPC6DL/ulist-ban.jpg

Этот скрипт был протестирован на mIRC v7.75.

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

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

10

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

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()