Ошибка составления маски при бане пользователя с длинным идентом.
Рассмотрим на примере:
[15:15:19] * bantest (1234567890@212.152.28.ircnet-22826) has joined #egghelp
[15:15:36] <tvrsh> !ban bantest
[15:15:36] * bionic sets mode: +b *!23456789@212.152.28.*
Если мы явно не указываем маску бана для юзера с максимальной длинной идента(10 символов) то скрипт обрезает его первый и последний символы и ошибочно не выставляет * по краям идента.
Чтобы это исправить найдите в скрипте процедуру makemask и в ней строку
if { ($maskmode != 2) && ($maskmode != 3) && ($maskmode != 4) } { return "*![lindex [split $userhost "@"] 0]@[lindex [split [maskhost $userhost] "@"] 1]" }
return "*![lindex [split $userhost "@"] 0]@[lindex [split [maskhost $userhost] "@"] 1]"
return "*!*[lindex [split $userhost "@"] 0]*@[lindex [split [maskhost $userhost] "@"] 1]"
Теперь сохраняем скрипт и рехашим бота.
После этого мы получаем следующее:
[15:57:36] * bantest (1234567890@212.152.28.ircnet-22826) has joined #egghelp
[15:57:46] <tvrsh> !ban bantest
[15:57:46] * bionic sets mode: +b *!*23456789*@212.152.28.*
[15:57:46] -NOTICE- <bionic> Перманентный бан *!*23456789*@212.152.28.* на канале #egghelp . Причина: not welcome
[15:57:46] * bantest was kicked by bionic (Banned: not welcome)
Работает.