Commit Graph

6 Commits

Author SHA1 Message Date
MpakobecEx cf14dfa80d Построчный журнал сообщений больше не нужен
CI / lint-test (push) Successful in 20s Details
CI / build-push (push) Successful in 1m6s Details
Счётчики сообщений теперь живут только в analytics.messages_daily: /инфо, /рейтинг и админка суммируют дневные значения, а bot.add_user больше не пишет строку на каждое сообщение. Старые строки bot.messages один раз перенесены в дневную таблицу и сама таблица удалена; в карточке пользователя «последнее сообщение» стало датой.
2026-11-03 02:43:05 +05:00
MpakobecEx d7bbacb67c Аналитика переехала в Postgres, ClickHouse больше не нужен
Логи сообщений больше не дублируются отдельным событием: вместо этого в схеме analytics растёт дневной счётчик по каждому игроку. События и счётчики хранятся в Postgres, партиции по дням создаются автоматически и не удаляются, а в админке появилась отдельная вкладка «Сообщения по дням». Сервис ClickHouse, скрипты его бэкапа и зависимость убраны; сбой аналитики по-прежнему не мешает боту.
2026-11-03 02:32:31 +05:00
MpakobecEx 8ae4e8bb6c Админка научилась управлять админами, шаблонами и исключать из чата
CI / lint-test (push) Successful in 16s Details
CI / build-push (push) Successful in 56s Details
Появился раздел «Админы»: добавить человека по Telegram-ID, сменить роль, выключить или удалить (с защитой от отключения себя и последнего администратора). В карточке пользователя теперь можно выгнать из чата: бот банит и сразу разбанивает, данные удаляются, кто кого выгнал — уходит в чат логов. Заодно исправлен старый баг: при исключении уведомление и удаление применялись к тому, кто выгонял, а не к выгнанному. Шаблоны можно создавать из «Сообщений», а смена ника через /ник теперь видна в истории — с пометкой, что это сделал сам пользователь, а не админ.
2026-10-25 01:05:02 +05:00
MpakobecEx a28bd622c7 Бэкап событий переведён на pull с домашнего сервера
CI / lint-test (push) Successful in 16s Details
CI / build-push (push) Successful in 13s Details
- скрипт бэкапа запускается на домашнем сервере и сам забирает вчерашнюю партицию с VPS по ssh
- входящий ssh на домашний сервер больше не нужен, rsync не требуется
- выгрузка идёт через docker compose на VPS, пароль ClickHouse читается из окружения контейнера
- архив пишется сначала во временный файл, импорт идемпотентен, удаление партиций только после сверки
- env/backup.env.example переписан под новые параметры, cron теперь на домашнем сервере
- версия 0.3.7
2026-10-16 15:57:22 +05:00
MpakobecEx cd9004c10f Документация Блока 3 и версия 0.3.5
- docs/events.md дополнен схемой ClickHouse, агрегатами, регламентом хранения и списком уведомлений в чат логов
- README описывает аналитику, уведомления, бэкап событий и структуру проекта
- DEPLOY.md описывает сервис ClickHouse, проверку, настройку бэкапа и cron
- примеры сообщений коммитов приведены к стилю без префиксов
- версия 0.3.5
2026-10-16 15:30:00 +05:00
MpakobecEx 84f75e7c7d Клиент ClickHouse, каталог событий и батчинг записи
- common/analytics — AnalyticsClient с буфером, flush по размеру и таймеру, graceful-flush при остановке
- при недоступности ClickHouse события уходят в stdout, бот не падает
- каталог EventType и docs/events.md проверяются тестом на синхронность
- настройки CLICKHOUSE_* и ANALYTICS_* с дефолтами
- версия 0.3.0
2026-10-16 15:19:58 +05:00