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

Скрипт выдает в канал кто смотрит его WHOIS

СообщениеДобавлено: 16 мар 2013 14:35
AvikO
bind notc - * test_return

proc test_return {n u h t d} {
putserv "PRIVMSG # :$n $u $h $t $d"
putserv "PRIVMSG # :Ник!Хост :$n!$u"
putserv "PRIVMSG # :Доступ :$h"
putserv "PRIVMSG # :Написал :$t"
putserv "PRIVMSG # :Описание :$d"
return
}
}


----------------------------------
/notice AvatarkA 123
----------------------------------
14:29:22| <AvatarkA> AvikO ~aviko@aviko.team.ru AvikO 123 AvatarkA
14:29:22| <AvatarkA> Ник!Хост :AvikO!~aviko@aviko.team.ru
14:29:22| <AvatarkA> Доступ :AvikO
14:29:22| <AvatarkA> Написал :123
14:29:22| <AvatarkA> Описание :AvatarkA
----------------------------------

/whois AvatarkA

Party
[14:13:54] -NOTICE- *** AvikO (~aviko@83.220.238.9) did a /whois on you.

Но ничего не выдаёт!

Re: Скрипт выдает в канал кто смотрит его WHOIS

СообщениеДобавлено: 17 мар 2013 02:02
tvrsh
Что-то у тебя с закрывающими фигурными скобками перебор, одна лишняя.
Вот что я сделал у себя:
# Биндю с канал нотис.
<tvrsh> $$ bind notc - * bnotc; proc bnotc {n u h t d} {putserv "PRIVMSG #egghelp :$h $u $h $t $d"}
<+bionic> OK - 0.047 ms.

# Пишу нотис боту и получаю ответ на канал:
>bionic< test
<bionic> tvrsh tvrsh@ircnet.ru tvrsh test bionic

Далее, через команду .dump из скрита управления отправляю команду ns test и получаю на нее ответ:
# Патилайн
<bionic> [01:55:25] #tvrsh# dump ns test
<bionic> [01:55:27] -NickServ (Services@ircnet.ru)- Unknown command test. "/NickServ HELP" for help.

# Канал:
<+bionic> NickServ Services@ircnet.ru NickServ Unknown command test. "/NickServ HELP" for help. bionic

Все работает. Смотри свой патилайн, может в нем ошибки какие, ну и за скобками следи.

Re: Скрипт выдает в канал кто смотрит его WHOIS

СообщениеДобавлено: 17 мар 2013 09:23
tvrsh
Да, и чтобы бот писал в канал только о том, кто его хуизит, надо добавить проверку, иначе он будет реагировать на все нотисы отправленные ему.
TCL: [ Скачать ] [ Скрыть ]
# Если ник отправивший нотис это ChanServ, и текст нотиса содержит слово /whois,
if {$n == ChanServ && [string match */whois* $t]} {
    #... то тут какая-то реакция на него.
    putserv "PRIVMSG #egghelp :NOTICE from $n: $t"
} else {
    #Иначе никак не реагируем на полученный нотис.
    return 0
}