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

скрипт подобии onjoin.tcl

СообщениеДобавлено: 22 дек 2010 20:14
triton
сам скрипт
##########################################################
# Onjoin.tcl 0.1 by Banned@abv.bg by Banned #
# #
##########################################################
set onjoin_msg {
{
" Приветствую $nick. Я игровой бот. "
}
}
set onjoin_chans "#канал1 #канал2"

bind join - * join_onjoin

putlog "Onjoin.tcl 0.1 by Banned loaded"

proc join_onjoin {nick uhost hand chan} {
global onjoin_msg onjoin_chans botnick
if {(([lsearch -exact [string tolower $onjoin_chans] [string tolower $chan]] != -1) || ($onjoin_chans == "*")) && (![matchattr $hand b]) && ($nick != $botnick)} {
set onjoin_temp [lindex $onjoin_msg [rand [llength $onjoin_msg]]]
foreach msgline $onjoin_temp {
puthelp "NOTICE $nick :[subst $msgline]"
}
}
}


как сделать что бы для разных каналов, был разный текст.
Например: для канала #канал1 было сообщение "Приветствую. Я игровой бот." а для канала #канал2 было совсем другое сообщение. и т.д

Re: скрипт подобии onjoin.tcl

СообщениеДобавлено: 22 дек 2010 21:27
tvrsh
Смотришь как устроен bind и bind join в частности. И делаешь основу скрипта.
bind join - * join_onjoin
proc join_onjoin {nick uhost hand chan} {

}


Потом смотришь как работает условие if и конструируешь два таких условия.
TCL: [ Скачать ] [ Скрыть ]
if {$chan == "#chan1"} {
    putserv "NOTICE $nick :Текст приветствия для канала #chan1."
}
if {$chan == "#chan2"} {
    putserv "NOTICE $nick :Текст приветствия для канала #chan2."
}

После чего вставляешь их в тело процедуры и пользуешься скриптом.