Скрипты
 

Скрипты / BAN-UNBAN


on BAN/UNBAN
Обработчики вызываются, когда пользователю ставят или снимают бан на канале.

Синтакс: on <level:BAN:<#[,#]:<commands

Пример: on 1:BAN:#mirc,#irchelp:/msg $nick Sorry but you're not allowed on $chan

Примеры:

  • on 9:BAN:#newbies:/mode $chan -o $nick | /mode $chan -b $banmask
    Обработчик события вызовется, когда кто-нибудь забанит пользователя с уровнем 9. $banmask - маска адреса пользователя, которого попытались забанить.

  • on 1:UNBAN:#:/msg $bnick You have just been unbanned
    Обработчик вызывается, когда пользователю снимается бан на любом канале. Идентификатор $bnick - имя пользователя. Идентификатор определен, если в маску бана включен ник (nick!*@...). Если ника нет (*!*@...), $bnick возвратит значение $null.

    Идентификатор $banmask - маска пользователя. Если, например, кто-то ставит бан на *!k*d@*.uk, все ниже перечисленные пользователи получат бан:

    *!khaled@mardam.demon.co.uk
    *!kha*d@*am.d*mo?.co.*
    *!k*@*.u?

    Проверка уровня:
    Вы можете проверить (сравнить) уровень ставящего бан и получающего бан с помощью операторов <,,<=,=,<, или =, следующим образом:

    on =2:BAN:#mIRC:/msg $chan $nick banned $banmask (legal)

    on 1:BAN:#mIRC:/msg $chan $nick banned $banmask (illegal)

    В этой ситуации, если уровень ставящего бан больше или равен уровню пользователя, на которого ставят бан, этот бан разрешается. Если меньше, то выполнится следующая строка ON BAN. Не забывайте, что это только проверка уровней пользователей.
    Внимание: Эти обработчики работают только с никами пользователей, поскольку IRC сервера посылают сообщение о ban/unban, в которых присутствует только ник пользователя.