Страница 1 из 1

TCL скрипт который открывает приват при заходе на канал

СообщениеДобавлено: 26 сен 2010 06:58
nariman
TCL скрипт который открывает приват при заходе на канал узеров и пишит текст

Re: TCL скрипт который открывает приват при заходе на канал

СообщениеДобавлено: 26 сен 2010 10:26
tvrsh
TCL: [ Скачать ] [ Скрыть ]
namespace eval onjoinmsg {

setudef flag onjoinmsg

        variable onjoinmsg
        array set onjoinmsg {
        msgtext {text text text}
        }

        bind join -|- "*" ::onjoinmsg::onjoinmsg

proc ::onjoinmsg::onjoinmsg {nick uhost hand chan} {
    variable onjoinmsg

    if {![channel get $chan onjoinmsg]} {
        return 0
    }

    putserv "PRIVMSG $nick :$onjoinmsg(msgtext)"
    return 0
}
}


Чтобы включить скрипт на определенном канале сделай .chanset #chan +onjoinmsg в патилайне бота.

Re: TCL скрипт который открывает приват при заходе на канал

СообщениеДобавлено: 27 сен 2010 01:08
Radiosignal
tvrsh, а можно добавить в скрипт команду, что б он рандомно посылал текст на выбор из списка и чтоб цвет текста тоже был рандомным.

Re: TCL скрипт который открывает приват при заходе на канал

СообщениеДобавлено: 27 сен 2010 22:04
tvrsh
Radiosignal писал(а):tvrsh, а можно добавить в скрипт команду, что б он рандомно посылал текст на выбор из списка и чтоб цвет текста тоже был рандомным.

TCL: [ Скачать ] [ Скрыть ]
namespace eval onjoinmsg {

setudef flag onjoinmsg

        variable onjoinmsg
        array set onjoinmsg {
        msgtext {"text1 text1 text1"
                      "text2 text2 text2"
                      "text3 text3 text3"}
        msgcolours {\00301 \00302 \00303}
        }

        bind join -|- "*" ::onjoinmsg::onjoinmsg

proc ::onjoinmsg::onjoinmsg {nick uhost hand chan} {
    variable onjoinmsg

    if {![channel get $chan onjoinmsg]} {
        return 0
    }

    putserv "PRIVMSG $nick :[lindex [split $onjoinmsg(msgcolours)] [rand [llength [split $onjoinmsg(msgcolours)]]]][lindex [split $onjoinmsg(msgtext)] [rand [llength [split $onjoinmsg(msgtext)]]]]"
    return 0
}
}

Re: TCL скрипт который открывает приват при заходе на канал

СообщениеДобавлено: 27 сен 2010 23:09
Radiosignal
.tcl set errorInfo
Tcl: invalid command name "msgcolours"
Tcl: while executing
Tcl: "msgcolours {\00301 \00302 \00303}"
Tcl: (in namespace eval "::onjoinmsg" script line 11)
Tcl: invoked from within
Tcl: "namespace eval onjoinmsg {
Tcl:
Tcl: setudef flag onjoinmsg
Tcl:
Tcl: variable onjoinmsg
Tcl: array set onjoinmsg {
Tcl: msgtext {"text1 text1 text1"
Tcl: ..."
Tcl: (file "scripts/onjoinmsg.tcl" line 1)
Tcl: invoked from within
Tcl: "source scripts/onjoinmsg.tcl"

Re: TCL скрипт который открывает приват при заходе на канал

СообщениеДобавлено: 27 сен 2010 23:19
tvrsh
Поменяй местами строки
        }
        msgcolours {\00301 \00302 \00303}
 

Исправил скрипт в предыдущем посте.

Re: TCL скрипт который открывает приват при заходе на канал

СообщениеДобавлено: 27 сен 2010 23:30
Radiosignal
спасибо