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

Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 16 апр 2011 14:21
tvrsh
Название: Statistics.tcl
Версия: 2.5
Автор: perpleXa (mod by tvrsh)
Описание: TCL аналог модуля статистики stats.mod
Поддержка Suzi: Да
Пример работы:
# Просмотр хелпа командой shelp:
<bionic> -stat|tstat <ник> <канал> - просмотр статистики выбранного ника за все время|сегодня на указанном канале.
<bionic> -place|tplace <ник> <канал> - просмотр места занимаемого выбранным ника на канале по указанному параметру за все время|сегодня.
<bionic> -top|ttop <число> <параметр> <канал> - просмотр топа пользователей за все время|сегодня на указанном канале по выбранному параметру.
<bionic> -all <канал> - просмотр полной статистики выбранного канала за все время.
<bionic> * Доступные параметры: букв, строк, улыбок, слов, входов, ников, действий, киков, топиков, модов, время.
<bionic> ** Без указания канала или пользователя будет показана статистика текущего канала или того пользователя, кто использовал команду. При отсутствии параметра, в качестве него будет использовано количество слов.
<bionic> -sappend <ник1> <ник2> <канал> - объединение статистики ник1 и ник2 на канале. ник1 после этого будет удален.
<bionic> -sset <ник> <параметр> <значение> <канал> - установка нового значения для параметра у ника на канале.
<bionic> * В качестве параметра используйте только lines, words, letters, smilies, joins, nicks, actions, kicks, topics, modes, time.
<bionic> -sraw <ник> <канал> - просмотр статистики для ника на канале в "сыром" виде.

# Статистика для текущего канала:
<tvrsh> -stat
<bionic> tvrsh@#3hauka: 73 слова, 407 букв(5.58 букв в слове), 40 строк(1.82 слова в строке), 0 действий, 0 улыбок(0.00 улыбок в строке), 2 входа, 0 киков, 0 ников, 0 топиков, 0 модов, время: 4:18:16. [21.04.2012 16:20]

# Статистика для другого ника:
<tvrsh> -stat _MsSmith_
<+bionic> _MsSmith_@#3hauka: 48 слов, 263 буквы(5.48 букв в слове), 30 строк(1.60 слов в строке), 0 действий, 1 улыбка(0.03 улыбки в строке), 2 входа, 0 киков, 0 ников, 0 топиков, 0 модов, время: 5:49:5. [22.04.2012 11:50]
<+bionic> На #3hauka был 0:10:58 назад (22.04.2012 17:59). Последняя фраза: "один матч так вообще был позорищем".

# Топ текущего канала:
<tvrsh> -top
<+bionic> Топ 10 по "слов": #1 - _3BEPb_(1138/24.63%), #2 - ync(939/20.32%), ... #10 - tvrsh(68/1.47%).

# Место на текущем канале:
<tvrsh> -place
<bionic> tvrsh занимает 9 место из 20 по "слов" (76) на канале #3hauka за все время.


Дополнительная информация:
При просмотре списка команда, команды администрирования(sraw, sappend, sset) показаны будут только если пользователь имеет необходимые для их использования флаги (n).
Логика работы администраторских команд позаимствована из викторины.
sraw - просмотр статистики пользователя в "сыром" виде.
sappend - "склейка" двух пользователей, первый пользователь будет удален.
sset - изменение одного из параметров в статистике пользователя.

Ссылка на скрипт: statistics.tcl

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 17 апр 2011 18:56
team
Спасибо за скрипт) но вот какая причина,смотри у тебя прописан путь "scripts/dbase/statistics"

В папке scripts создал папку dbase и в папке dbase создал папку statistics
Вроде бы все так,но вот смотри выдает следующию ошибку

[18:52:01] Tcl error [::statistics::save]: couldn't open "scripts/dbase/statistics": illegal operation on a directory


Вроде бы путь правильный создал,так почему же он мне тогда пишет что недопустимая операцию по каталогу
Что мне нужно поправить,что добавить,подскажи пожалуйста)

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 17 апр 2011 20:10
tvrsh
Потому что statistics это не папка а файл.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 17 апр 2011 20:14
team
и что в папке dbase создать файл statistic.txt или statistic.dat ??? и если можно допиши что бы выдавало например !placei любой_ник и выдавало статистику о данном нике) За ранее спасибо

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 17 апр 2011 22:33
tvrsh
Создай файл statistics без расширения.
Статистика о нике выдается по команде !stati.
"Чтобы" и "Заранее" пишется слитно.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 16 окт 2011 22:03
Statium
После рестарта статистика сбрасывается. Как исправить?

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 24 окт 2011 03:39
UnInViTeD
Такая же трабла.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 06 ноя 2011 13:06
tvrsh
Statium, уверен что http://forum.egghelp.org/viewtopic.php?p=98110#98110 не помогает?
Процедура ::statistics::save вроде рабочая. Бинд такой такой тоже сущетвует: http://www.eggheads.org/support/egghtml ... html#binda
Попробуй допиши в процедуру строку
variable statistics

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 06 ноя 2011 14:01
Statium
Не помогает.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 08 мар 2012 11:11
tvrsh
Скрипт обновил.
Статистика не теряется, добавил команды администрирования. Немного подробнее в первом посте.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 15 апр 2012 19:06
tvrsh
Обновил скрипт. Исправлена ошибка записи при кике.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 16 апр 2012 07:26
Spoofing
Из раздела предложений; в топ можно добавить проценты.
# Топ текущего канала:
<tvrsh> -top
<bionic> Топ 10 по "слов" за все время: #1 - tvrsh(211)(100%), #2 - Lue(0)(0%), #3 - kot3(0)(0%), #4 - Такая_Самая(0)(0%).

А когда пользователей в статистике станет больше 100, то чтобы не отображать некоторых пользователей как 0.0000000000001% в статистике, то сделать отображение процентов только в рамках указанного топа, то есть по команде top20 он выводит 11-20 пользователей, то и показывать только их проценты относительно друг друга, а не относительно всех пользователей в статистике.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 16 апр 2012 10:18
tvrsh
Предложение интересное, спасибо. Но тогда строка станет совсем длинной, будет выводиться без цветов. Придется убрать лишнюю раскраску и ожирнение.
Думаю, что проценты лучше выводить от общего количества, это интуитивно понятнее при первом взгляде. А чтобы не было 0.0000000000001%, то просто не выводить проценты если их меньше 1. Ну или писать <1%.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 19 апр 2012 16:09
Spoofing
tvrsh, а вы не могли бы показать примеры из базы, как хранится статистика?

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 20 апр 2012 08:28
tvrsh
Spoofing писал(а):tvrsh, а вы не могли бы показать примеры из базы, как хранится статистика?

channel:#egghelp id:tvrsh!tvrsh@* value:1334477584 1334771189 43 158 898 5 6 0 0 0 0 0 tvrsh 34425 1334765189 0

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 22 апр 2012 18:28
tvrsh
Обновил скрипт. Теперь окончательно исправлена запись киков.
Еще добавил сохранение последней сказанной фразы. Она отображается при просмотре статистики отсутствующего на канале пользователя. Получился симбиоз статистики и seen скрипта.
Примеры работы в первом посте.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 22 сен 2013 15:23
Night_Tiger
tvrsh, а в каком конкретно месте формируется "маска" id:tvrsh!tvrsh@* для записи в базу и узнавания, возможно ли вынести параметр как во многих скриптах которые узнают пользователя из базы вида:
set conf(mask) 1
параметр к примеру из 1 - *!ident@*.host, 2 - *!*@host, 3 - nick!ident@*, 4 - *!*ident*@host, 5 - $nick!*@* (не рекомендуется)
Дабы настроить так что при смене ника пользователем он не дублировался в топе. И еще при использовании ника c символами [ ] через команды администрирования он становится недоступен бот пишет что пользователя на канале не существует.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 26 сен 2013 18:30
tvrsh
Вот такие строчки есть:
    set hostname "$nickname![lindex [split $hostname "@"] 0]@*"

Скрипт кажется все еще с ошибками работает. Я никак не смог там сделать учет проведенного на канале времени. Какие-то огромные результаты иногда всплывают и портят всю статистику.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 05 окт 2013 14:30
LuXe
tvrsh писал(а):Скрипт обновил. Статистика не теряется

У меня что то все равно при рестарте все сбрасывается, а так скрипт симпотичный.

Re: Statistics.tcl - TCL аналог модуля статистики stats.mod

СообщениеДобавлено: 15 май 2014 14:38
IonutBlake
Hello egghelp.ru members, can this script statistics.tcl by perpleXa (mod by tvrsh) be translated into English?
Or is there anywhere i can find this script translated into English, because i don't speak russian and i would need it in English language. Thank you in advance to whom will be able to translate it.