CountGraphic, API2 | Диаграмма посещаемости хаба по запросу отправляется в приват |
Здравствуйте, гость ( Вход | Регистрация )
CountGraphic, API2 | Диаграмма посещаемости хаба по запросу отправляется в приват |
6.9.2009, 5:54
Сообщение
#21
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Название скрипта: CountGraphic
Версия API: API 2 Автор: Trans (изм. на Ksan) Описание: Каждые полчаса (по умолчанию) записывает в файл таблицу со столбцами графика посещаемости (наполнненности) хаба, при запросе через меню отправляет в приват график от 1 суток до 30 ( админ, ник которого вписан в настройках скрипта, может запросить график до 365 суток). Запросы начнут удовлетворяться не ранее, чем через сутки. В силу особенностей текстового режима клиента столбцы графика добавляются сверху вниз и столбец расположен горизонтально. в начале столбца дата-время, в конце - число юзеров. Для просмотра удобнее уменьшать масштаб содержания окна через CTRL+колесико_мышки. Полагаю, что представляет интерес для анализа динамики наполнения хаба по времени суток, по дням и месяцам...и вообще, просто для интереса. PS Исправил ошибку, внесенную при корректировке скрипта, перезалил. Апгрейд: --- Версия 1.3 (08-09-09 20:20) --- Теперь в таблицу записывается только дата-время и число, а столбцы строятся при отправке по запросу --- При выдаче по запросу столбец за нулевой час суток строится из других элементов для выделения насыщенностью цвета, и рядом с числом юзеров пишется дата --- Исправлена ошибка в условии с профилем юзера - вместо квадратных скобок были круглые --- Эта версия совместима с предыдущей, то есть, ранее созданная часть таблицы будет обрабатываться одинаково с последующими частями и выдаваться корректно по запросу. Так что если у кого таблица уже есть, то не заменяйте пустой из моего архива. --- (18-09-09 19:40) --- Исправил 1 косячок (раньше при старте инициировал приват не того бота) --- Добавил скрипт под API 1. --- Теперь оба скрипта в 1 архиве. Картинки ниже - из предыдущей версии. Вот примеры (одна картинка без изменения масштаба, вторая - с уменьшением): CountGraph_1.jpg ( 171.21 килобайт ) Кол-во скачиваний: 745 CountGraph_2.jpg ( 109.61 килобайт ) Кол-во скачиваний: 646 P.S.: У архивного файла расширение почему-то при скачивании оказывается не .RAR, а .ZIP (хотя я закачивал именно с .RAR). Так что если у кого-то архив не раскрывается с ошибкой, переименуйте расширение на .RAR (вместо .ZIP) и пробуйте снова.
Прикрепленные файлы
|
|
|
18.9.2009, 2:20
Сообщение
#22
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Хорошо, уговорили, сегодня переведу и кину в первом сообщении переведенный на API 1 скрипт, вечерком (сейчас у меня 6 утра, спешу на работу).
PS: Добавил в первый пост скрипт под API 1, предварительно исправив один косячок (раньше при старте инициировался приват не того бота). Теперь оба скрипта в одном архиве. PSS: 2thehawk: Ты забыл, наверно, создать (или скопировать из архива) папку с первоначальным файлом для таблицы графика. |
|
|
9.10.2009, 21:51
Сообщение
#23
|
|
PRIZrak Группа: Пользователи Сообщений: 76 Регистрация: 22.7.2008 Пользователь №: 251 Спасибо сказали: 4 раза |
Интересный скрипт, никогда не задумывался о сборе статистики, но наткнувшись на данный скрипт - проведу обязательно!!!!
|
|
|
14.10.2009, 23:22
Сообщение
#24
|
|
Активный участник Группа: Пользователи Сообщений: 71 Регистрация: 8.4.2009 Пользователь №: 2 982 Спасибо сказали: 1 раз |
/home/user/PtokaX/scripts/CountGraphic_1.2__API2.lua:81: attempt to get length of upvalue 'tCounts' (a boolean value)
:( |
|
|
15.10.2009, 2:40
Сообщение
#25
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
/home/user/PtokaX/scripts/CountGraphic_1.2__API2.lua:81: attempt to get length of upvalue 'tCounts' (a boolean value) :( Мало информации. Если ошибка возникла при первом запуске, нужно уточнить свой ник в константе Код local sAdm = ... и посмотреть, какое сообщение об ошибке бот пишет при запуске ( отправлено будет этому нику в главном чате ) Цитата *** Ошибка : "..(описание ошибки)
|
|
|
15.10.2009, 2:56
Сообщение
#26
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Мне кажется, пора уже привыкать сразу выкладывать и строку, на которую указывает сообщение об ошибке (в данном случае - 81). Если не слишком большая, то даже всю функцию, или хотя бы пару строк до и пару после. Потому как вопрошающий мог изменить расположение строк изменениями в скрипте, или это могли сделать те, кто мог бы ответить на вопрос, либо мы пользуемся другими версиями. Вот сейчас скачал и посмотрел оригинал из первого сообщения темы - в 81 строке нет ничего подобного (там только захват строки).
|
|
|
15.10.2009, 3:02
Сообщение
#27
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Тут речь про мой вариант, потому я и ответил .
Вообще ситуация странная. Если нет файла, то он при старте создается, сохраняется и соответственно подключается (как пустая таблица). Получение длины #tCounts должно железно отрабатывать как 0. А тут выходит, что и файла нет, и он почему-то не создается. |
|
|
15.10.2009, 10:52
Сообщение
#28
|
|
Активный участник Группа: Пользователи Сообщений: 71 Регистрация: 8.4.2009 Пользователь №: 2 982 Спасибо сказали: 1 раз |
Ошибку выдало при первом запуске. Ручками создал файл!
Скрипт работает! PtokaX 4.1.1 стоит на FreeBSD 7 lua 5.1.4 Почему прога его не создала незнаю, видимо косяк где то... |
|
|
15.10.2009, 11:10
Сообщение
#29
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Цитата PtokaX 4.1.1 стоит на FreeBSD 7 lua 5.1.4 Вот с этого надо было начинать )) Скорее всего для Фри нужно немного иначе прописывать путь к файлу. |
|
|
3.1.2010, 23:26
Сообщение
#30
|
|
Начинающий Группа: Пользователи Сообщений: 14 Регистрация: 28.3.2009 Пользователь №: 2 819 Спасибо сказали: 2 раза |
Под апи1 поменял sNick на sName чтобы не возникало ошибки:
PtokaX\scripts\Graph.lua:77: attempt to concatenate field 'sNick' (a nil value) |
|
|
9.10.2012, 13:24
Сообщение
#31
|
|
Активный участник Группа: Пользователи Сообщений: 71 Регистрация: 8.4.2009 Пользователь №: 2 982 Спасибо сказали: 1 раз |
Синтаксис C:\0.4.2.0b401-Lua5.2.1\scripts\CountGraphic_1.3_api2.lua:55: attempt to index local 'f' (a nil value)
Код: Код if loadfile(sGraphFile) == nil then -- если нет файла local f,e = io.open( sGraphFile, "w+" ) -- создаём пустой файл для записи f:write( "return {\n}" ) -- пишем начало и конец таблицы f:close() -- закрываем файл end -- у нас есть файл для сохранения графика sMsg = dofile(sGraphFile) -- открываем наш файл как таблицу для дальнейшей работы скрипта if bPMadm == true then -- если в настройках скрипта разрешена отправка админу столбцов Core.SendPmToNick(sAdm, sBotGraphAdm, "Старт диаграммы...") -- это отправляется при запуске скрипта админу для инициализации привата, иначе после первого столбика диаграммы напищет офф-сообщение такого типа: "[00:33:58] *** Юзер ушёл [] *** " А так хоть и будет то же, но зато не будет перерыва между первым и вторым столбиком. (эту строку можно закомментить, если не хотите получать в приват график каждый отрезок времени) end 55 строка третья сверху. |
|
|
9.10.2012, 13:27
Сообщение
#32
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Sergey613, прочтите тему с начала. Ответ дан выше.
|
|
|
9.10.2012, 19:39
Сообщение
#33
|
|
Активный участник Группа: Пользователи Сообщений: 71 Регистрация: 8.4.2009 Пользователь №: 2 982 Спасибо сказали: 1 раз |
|
|
|
9.10.2012, 20:32
Сообщение
#34
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Кстати...
..У архивного файла в первом сообщении темы расширение почему-то при скачивании оказывается не .RAR, а .ZIP (хотя я закачивал туда именно с .RAR). Так что если у кого-то архив не раскрывается с ошибкой, переименуйте расширение на .RAR (вместо .ZIP) и пробуйте открыть снова. |
|
|
13.10.2012, 11:24
Сообщение
#35
|
|
Активный участник Группа: Пользователи Сообщений: 71 Регистрация: 8.4.2009 Пользователь №: 2 982 Спасибо сказали: 1 раз |
Скрипт работает!
Только графика не видно, наверно юзеров на хабе мало. |
|
|
10.6.2023, 15:12
Сообщение
#36
|
|
Начинающий Группа: Пользователи Сообщений: 21 Регистрация: 17.11.2008 Пользователь №: 1 116 Спасибо сказали: 9 раз |
UPну тему.
У функции Код function GetGraph(tUser, iColumns) неиспользуемый второй параметр, на деле достаточно чуть ниже в этой же функции заменить iDays на iColumns в двух строках, тогда при попытке юзера ввести число дней, выходящих за диапазон доступных, можно просто выводить график за жёстко указанное число дней, ну и ругаться.Код function ChatArrival(tUser, sData) добавлена команда GetGraph(tUser, 3), где 3 - жёстко установленное кол-во дней.... ... GetGraph(tUser, iDays) -- обращение к функции отправки в приват графика по запросу return true -- скрываем команду end Core.SendToUser(tUser, "<"..sBotGraph.."> "..tUser.sNick..": Вводите только целые положительные числа (а не буквы или иные нецифровые символы, у чисел с дробями принимаются только целые части!") -- учимся правильно запрашивать :) GetGraph(tUser, 3) -- ДОБАВЛЯЕМ вывод графика на 3 дня. Эдакое по-дефолту. return true -- скрываем команду Однако, всё-равно будет неясность, поэтому в функции вывода, можно заменить строку Код Вы затребовали слишком много дней - в базе ещё нет столько данных. наКод Вы затребовали слишком много дней ("..iColumns..") - в базе ещё нет столько данных. но это уже чисто визуальные дрючки |
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
CountGraphic Диаграмма посещаемости хаба по запросу отправляется в приват |
0 | Saymon21 | 4 365 | 24.8.2010, 18:38 Посл. сообщение: Saymon21 |
|
Сейчас: 22.11.2024, 23:16 |