umode

Просьбы о написании новых скриптов или поиске уже существующих.

Модератор: Модераторы

umode

Сообщение Bender » 28 ноя 2010 13:16

Здравствуйте! Нужен скрипт для выдачи пользователем моды (типо +W +p итд) при идентификации ника в сервисах...
Желательно чтоб считывал с канала #services "(Global) NickServ: Nick!ident@hostmaska identified for nick Nick"
Список ников в файле или сразу в скрипте... Заранее спасибо!
Bender
 
Сообщения: 9
Зарегистрирован: 24 ноя 2010 00:26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: umode

Сообщение tvrsh » 28 ноя 2010 16:23

Вот пробуй:
TCL: [ Скачать ] [ Скрыть ]
# Биндим любой текст на канале #services
bind pubm - "#services *" umode
proc umode {nick uhost hand chan text} {
    # Список ников.
    set nicklist "nick1 nick2 nick3 nick4 nick5"
    # Проверяем, если фразу сказал не никсерв, то останавливаем процедуру.
    if {$nick != "Global" && [lindex [split $text] 0] != "NickServ:" } {
        return 0
    }
    # Выделяем ник из фразы никсерва.
    set ircnick [lindex [split $text] 5]
    # Перебираем все ники из списка, и если среди них есть тот же, что и в фразе никсерва то вешаем ему мод.
    foreach nickname [split $nicklist] {
        if {$nickname == $ircnick} {
            putserv "MODE $ircnick +p"
            return 0
        }
    }
}
putlog "umode.tcl loaded."


Если будут ошибки показывай их с .set errorInfo
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: umode

Сообщение Bender » 28 ноя 2010 17:49

 [22:48:32] Tcl error [umode]: invalid bareword "nick"
 in expression "nick != "NickServ"";
should be "$nick" or "{nick}" or "nick(...)" or ...
Bender
 
Сообщения: 9
Зарегистрирован: 24 ноя 2010 00:26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: umode

Сообщение tvrsh » 29 ноя 2010 00:28

Поправил, пробуй.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: umode

Сообщение Bender » 29 ноя 2010 09:23

Вообще не какой реакции...
Хочу уточнить в канале #services пишет не NickServ а Global (Текс такой  14[0708:20:4914]  14(07Global14) NickServ: user!ident@217.118.64.52 identified for nick user) может из за этого??
Bender
 
Сообщения: 9
Зарегистрирован: 24 ноя 2010 00:26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: umode

Сообщение tvrsh » 29 ноя 2010 09:27

Снова пробуй.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: umode

Сообщение Bender » 29 ноя 2010 09:38

Спасибо большое сработало!:))
Bender
 
Сообщения: 9
Зарегистрирован: 24 ноя 2010 00:26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: umode

Сообщение Bender » 29 ноя 2010 22:15

А как сделать так чтобы пользователь с списка мог брать моды по команде в привате к примеру: !mod +W
Bender
 
Сообщения: 9
Зарегистрирован: 24 ноя 2010 00:26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: umode

Сообщение tvrsh » 30 ноя 2010 15:19

Bender писал(а):А как сделать так чтобы пользователь с списка мог брать моды по команде в привате к примеру: !mod +W

TCL: [ Скачать ] [ Скрыть ]
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 и если его хэндл есть в списке, то после этого проверяется есть ли указанный им мод в списке допустимых. Если все положительно то мод ставится.
Учти, что маски можно подделать и мод может получить тот, кому он не предназначен.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: umode

Сообщение Bender » 30 ноя 2010 15:49

Спасибо! Все работает отлично!
Bender
 
Сообщения: 9
Зарегистрирован: 24 ноя 2010 00:26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


Вернуться в Заявки на скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

cron