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

Кик-счётчик.

СообщениеДобавлено: 20 апр 2011 12:23
Bounce
Возможно написать скрипт такого характера: Когда бот кикает кого-либо, то в причине кика он выдает его порядковый номер.
Например: Bounce кикнут пользователем $botnick (Причина: [Кик номер: такой-то такой-то])

Re: Кик-счётчик.

СообщениеДобавлено: 20 апр 2011 16:53
tvrsh
Нельзя написать скрипт который добавит ко всем кикризонам счетчик. Но можно создать процедуру которая будет увеличивать определенныую переменную и вызывать эту процедуру при каждом кике.
TCL: [ Скачать ] [ Скрыть ]
set kickcount 0
proc countkicks {} {
 incr ::kickcount
}

# Все кики переписать таким образом:
putserv "kick $chan $nick :kick message bla - kick#: [countkicks]"


Вольный перевод поста http://forum.egghelp.org/viewtopic.php?p=71529#71529

Re: Кик-счётчик.

СообщениеДобавлено: 20 апр 2011 17:53
Bounce
При рехаше, рестарте или отключении бота сбрасывается счётчик :(

Re: Кик-счётчик.

СообщениеДобавлено: 20 апр 2011 21:42
Vertigo
Чтобы такого не было, надо писать в файл. Замени процедуру countkicks на такую:
TCL: [ Скачать ] [ Скрыть ]
proc countkicks {} {
if {![file isfile "countkicks.txt"]} {
set f [open "countkicks.txt" w+]
close $f
}
set f [open "countkicks.txt" r]
set data [read -nonewline $f]
close $f
if {[string is space $data]} {
set data 1
} elseif {[string is digit $data]} {
set data [incr data]
} else {
set data 1
}
set f [open "countkicks.txt" w]
puts -nonewline $f $data
flush $f
close $f
return $data
}
 

Не проверял, но должно работать. В корневой папке бота должны быть права на создание файлов.

Re: Кик-счётчик.

СообщениеДобавлено: 20 апр 2011 23:28
Bounce
Спасибо. Работает.