Bender писал(а):А как сделать так чтобы пользователь с списка мог брать моды по команде в привате к примеру: !mod +W
bind msg - !mod userumode
proc userumode {nick uhost hand text} {
global lastbind
set handlist "hand1 hand2 hand3 hand4 hand5"
set modelist "+W +p"
foreach handle [split $handlist] {
if {$handle == [nick2hand $nick]} {
foreach mode [split $modelist] {
if {$mode == $text} {
putserv "MODE $nick $text"
return 0
}
}
putserv "NOTICE $nick :$nick, мода $text нет в списке допустимых к установке. Список модов: [string trimright [join $modelist ", "] ","]."
return 0
}
}
putserv "NOTICE $nick :$nick, вам запрещено использовать команду $lastbind."
return 0
}
putlog "userumode.tcl loaded."
Скрипт определяет хэндл того, кто использовал команду !mod с помощью команды
nick2hand и если его хэндл есть в списке, то после этого проверяется есть ли указанный им мод в списке допустимых. Если все положительно то мод ставится.
Учти, что маски можно подделать и мод может получить тот, кому он не предназначен.