myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> ChatHistorySQLite, История чата на основе SQLite

Alexey
сообщение 10.2.2016, 17:35
Сообщение #1


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 286 раз




Название скрипта: ChatHistorySQLite
Версия скрипта: 1.2 (2016-02-10)
Хабсофт: PtokaX 0.4.1.1 и новее (под более ранними не проверялся).
Версия Lua: 5.1/5.3
Зависимости: библиотеки LuaSQL SQLite3 (lua-sql-sqlite3), Iconv (lua-iconv)
Автор: Alexey

Описание: Скрипт сохраняет сообщения чата в базу данных и показывает сохранённые сообщения по команде и при входе в хаб. За основу взят скрипт ShortChatHistory.

Возможности:
  • Может хранить сотни тысяч сообщений чата.
  • При этом не требует установки и запуска системы управления базами данных.
  • Определение сообщений, ошибочно отправленных в чат в кодировке UTF-8 и сохранение их в читаемом виде.
  • Команды: поиска сообщений по нику, IP, времени написания или фразе в тексте, просмотра топа пользователей по количеству сообщений, просмотра истории чата, удаления сообщений по образцу, удаления сообщений по нику автора, удаления сообщений по номеру, полной очистки истории чата и справки по командам.
  • Меню для команд.
  • Возможность логирования сообщений от третьего лица (команд +me).
  • Возможность при сохранении обреза́ть длинные сообщения (при этом не обрезает сообщения с ссылками).
  • Не сохраняет сообщения кика (is kicking Spamer because: spam).
  • Не сохраняет сообщения, похожие на команды.
  • Возможность установить корректировку времени сохраняемых сообщений (если время на сервере отличается от реального).
  • Сохранение в файл при выключении скрипта (или хаба) и по таймеру (по умолчанию, каждую минуту, если были новые сообщения).
  • Возможность использовать разный язык сообщений скрипта в зависимости от страны пользователя (по IP).

Ограничения:
  • Так как для оригинальной версии PtokaX под Windows нет сборки LuaSQL SQLite3, то скрипт не сможет работать в таком окружении.
  • Команды удаления сообщений и очистки истории удаляют сообщения только в Луа-таблице и не затрагивают сообщения в базе данных.

Прикрепленный файл  ch_sqlite.lua ( 42.5 килобайт ) Кол-во скачиваний: 28


Спасибо сказали:
Go to the top of the page
+Quote Post
dimetro
сообщение 16.2.2016, 20:56
Сообщение #2


Активный участник
***

Группа: Пользователи
Сообщений: 66
Регистрация: 14.9.2009
Пользователь №: 4 440
Спасибо сказали: 14 раз




Так как под Windows нет сборки LuaSQL SQLite3, то скрипт не сможет работать под этой ОС.

на Ptokax mod 9 win 32

CODE
[19:52:23] *** Подключена библиотека.
[19:52:23] *** Драйвер базы данных LuaSQL 2.1.0 загружен успешно.
[19:52:23] *** Версия SQLite: 3.3.17.
История чата ведётся с nil. В ней сохранено 0 сообщений от 0 ников с 0 IP-адресов.
[19:52:42 | 127.0.0.1 | [loc] Находится на хабе] <Dimon> ха ха
[19:52:57] <PtokaX> Последние 1 [+0] сообщений, отправленных от ников, удовлетворяющих маске 'dimon':
127.0.0.1 [2016-02-16 19:52:42] <Dimon> ха ха


Работает и на винде но с ошибкой при перезапуске скрипта [20:06:18] <OpChat> ...\hubs_scripts\0.5.0.1_mod9_x86\scripts\ch_sqlite.lua:538: LuaSQL: there are open cursors
Go to the top of the page
+Quote Post
Alexey
сообщение 16.2.2016, 22:20
Сообщение #3


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 286 раз




Цитата(dimetro @ 16.2.2016, 20:56) *
Работает и на винде
Это просто праздник какой-то! Порой приятно ошибиться big_smile.gif
Цитата(dimetro @ 16.2.2016, 20:56) *
но с ошибкой при перезапуске скрипта [20:06:18] <OpChat> ...\hubs_scripts\0.5.0.1_mod9_x86\scripts\ch_sqlite.lua:538: LuaSQL: there are open cursors

Я тестировал под Линуксом, там ошибка не воспроизводится. Проверять работу под Windows временно(?) не имею возможности. Есть вероятность, что эта ошибка не скажется на работе скрипта. Продолжай наблюдения.
Go to the top of the page
+Quote Post
dimetro
сообщение 16.2.2016, 23:30
Сообщение #4


Активный участник
***

Группа: Пользователи
Сообщений: 66
Регистрация: 14.9.2009
Пользователь №: 4 440
Спасибо сказали: 14 раз




На птоках 0.5.0.3 и выше с библиотеками под эти версии не получилось запустить.
на птоках мод 9 вроде Ок полет.
Go to the top of the page
+Quote Post
KCAHDEP
сообщение 29.8.2017, 19:28
Сообщение #5


Глубина-глубина, я не твой… Отпусти меня, глубина…
****

Группа: Пользователи
Сообщений: 187
Регистрация: 13.10.2010
Из: Россия
Пользователь №: 7 882
Спасибо сказали: 19 раз




ptokax 0.5.2.2 с lua5.3 ругаеццо на
Код
return self:format(unpack(t))

заменил на
Код
return self:format(table.unpack(t))

вроде пашид big_smile.gif
раскривушка

Код
[19:26:07] <PtokaX> Error /etc/ptokax/scripts/ch_sqlite.lua:1148: attempt to call a nil value (global 'unpack')
stack traceback:
    /etc/ptokax/scripts/ch_sqlite.lua:1148: in function 'string.dbformat'
    /etc/ptokax/scripts/ch_sqlite.lua:506: in function 'OnStartup'
[19:26:07] <PtokaX> *** KCAHDEP перезапустил скрипт: ch_sqlite.lua.
[19:26:07] *** Подключена библиотека iconv 7.
[19:26:07] *** Драйвер базы данных LuaSQL 2.3.5 (for Lua 5.3) загружен успешно.



Спасибо сказали:
Go to the top of the page
+Quote Post
=Alexandr=
сообщение 29.8.2017, 19:43
Сообщение #6


Абсолютный новичок


Группа: Пользователи
Сообщений: 6
Регистрация: 5.3.2014
Из: Харьков
Пользователь №: 12 339
Спасибо сказали: 2 раза




Alexey, в историю чата при выводе можно же добавить IP и страну ?
[17:04:41] <#[Robot]> Последние 3 сообщений из истории общего чата:

16:01 29/08 l 185.204.0.205 l ??<CyberGhost404> :-)
16:03 29/08 l 31.23.183.105 l RU<KCAHDEP> :lol: почистил называется. нет бы нормальный скрипт поставить http://mydc.ru/topic5773.html
16:04 29/08 l 185.204.0.205 l ??<CyberGhost404> поставю позже

сделать вывод типа такого ?


Спасибо сказали:
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Сейчас: 21.10.2017, 0:31