Skip to content

Releases: prog-time/tg-support-bot

Release v8.0.0

Choose a tag to compare

@prog-time prog-time released this 24 Jun 19:42
1c87966

⚠️ Breaking changes — see UPGRADE.md. After deploy, all channel/AI secrets must be re-entered via /admin/settings/* (no .env fallback) and migrations must be run.

Features

  • Custom Livewire admin panel replacing Filament: chat workspace (/admin/chats) with replies, attachments, close/ban/unban, unread tracking, dialog sorting, media gallery, and notifications (#142, #163)
  • Settings now editable in the UI — General, Integrations (verify-before-save), AI assistant + per-provider access, API & webhooks (IP allowlist), Team (operator invites) (#144, #145, #146, #147, #148, #163)
  • Persistent settings layer — all channel/AI credentials stored in the DB via SettingsService (#150, #163)
  • AI assistant in the admin panel — draft accept/cancel flow; MANAGER_INTERFACE mode removed (#174)
  • Installable PWA scoped to /admin/ — manifest, service worker, offline fallback, app icons (#168)
  • Pluggable platform registry for external/paid channel modules (#141)
  • Auto-replies management screen and auto_replies table (#163)
  • BotUser profiles & avatars — display name, username, avatar; operator avatars; outgoing-message author tracking (#171)
  • Session-based Telescope access gating, replacing HTTP Basic auth (#179)

Bug Fixes

  • Embed widget no longer double-renders messages or delivers empty admin replies (#179)
  • Settings reads survive an undecryptable secret instead of crashing (#179)

Maintenance

  • Removed Filament, Sentry, and the Loki/Grafana logging stack; logs now rotate to files; added Telescope + Livewire (#163, #179)
  • Removed the site widget (Node socket service) — superseded by the in-app widget gateway (#177)
  • Pre-commit/prepare-commit-msg hooks removed; only pre-push (PHPStan + tests) remains, checks run on CI (#158)
  • UPGRADE.md added; admin version bumped to v8.0.0 (#186)

Documentation

  • Updated CLAUDE.md, README.md, and the rules/ knowledge base for the new architecture

Scope: 224 commits, 387 files, 10 new migrations. Closes #141, #142, #144, #145, #146, #147, #148, #150, #158, #163, #168, #171, #174, #177, #179, #186.

7.1.0 | AI-помощник на VK/MAX, модульная архитектура Api и Ai

Choose a tag to compare

@prog-time prog-time released this 16 May 19:09
d1cebec

Release 7.1.0 — 2026-05-16

Features

  • AI-помощник работает на всех платформах — Telegram, VK, MAX. Триггер на любое текстовое входящее сообщение, gating через единый ShouldAiReply (#132).
  • Финальная доставка AI-ответа пользователю маршрутизируется по платформе через новый App\Modules\Ai\Actions\DeliverAiAnswerToUser: telegram → SendTelegramMessageJob, vk → SendVkMessageJob, max → SendMaxMessageJob. HTML-разметка автоматически срезается перед отправкой в VK/MAX (#132).
  • Автоответы AI через отдельного Telegram-бота (TELEGRAM_AI_BOT_TOKEN) в супергруппе. Два режима: draft с inline-кнопками Accept/Cancel и прямой AI_AUTO_REPLY=true. Свой webhook POST /api/ai-bot/webhook с валидацией TELEGRAM_AI_BOT_SECRET, artisan ai-bot:set-webhook (#124).
  • AI получает реальную историю чата пользователя из таблицы messages вместо Redis-кэша: sliding window по токенам с лимитом AI_MAX_CONTEXT_TOKENS=3000 (#132).
  • System prompt вынесен в Blade-шаблон resources/ai/system-prompt.blade.php с переменными botName/platform/today. Per-request memoization, шаблон в .gitignore — каждый environment подкладывает свой (#132).
  • Race-safe retry в AI-задачах: SendAiDraftJob/SendAiReplyJob ждут создания форум-топика для новых VK/MAX пользователей вместо публикации в message_thread_id=null (#132).

Bug Fixes

  • Устранена серия из 2-3 пустых форум-топиков при первом сообщении от VK/MAX пользователя: SendVkTelegramMessageJob/SendMaxTelegramMessageJob больше не сбрасывают bot_user.topic_id на корректный ответ TOPIC_NOT_MODIFIED от Telegram (#132).
  • Accept AI-черновика теперь работает на VK и MAX — раньше main-бот пытался слать ответ в Telegram API с VK/MAX chat_id и молча падал (#132).
  • editMessageText AI-черновика в супергруппе выполняется под токеном AI-бота, который и опубликовал сообщение (#132).
  • SendVkMessageJob/SendMaxMessageJob: текст для outgoing-сообщений читается из queryParams, не из updateDto — фикс латентного бага сохранения текста (#132).
  • AbstractSendMessageJob::telegramResponseHandler(): TOPIC_NOT_MODIFIED и MESSAGE_NOT_MODIFIED — no-op (без ретраев), для неизвестных ошибок в Loki пишется структурированный лог с code, type, description, thread/chat IDs (#131).
  • AiHelper::preparedAiAnswer(): префикс 📄 Инструкция: больше не добавляется при пустом managerText (#131).
  • Security: удалены отладочные Log::warning(...) в AiBotQuery, логировавшие сырой X-Telegram-Bot-Api-Secret-Token (#131).

Refactoring

  • API-инфраструктура (FilesController, SwaggerController, SimplePage, PreviewController, FileService, SwaggerGenerateService) перенесена в app/Modules/Api/. routes/api.php и routes/web.php стали пустыми оркестраторами — все маршруты регистрируются через модульные ServiceProvider'ы (#120).
  • AI-помощник вынесен из плоских app/Services/Ai/, app/Actions/Ai/, app/Contracts/Ai/, app/DTOs/Ai/ в самодостаточный модуль app/Modules/Ai/. Биндинг AiProviderInterface переехал в AiServiceProvider (#123).
  • Точка входа AI-генерации перенесена из webhook отдельного AI-бота в основной TG-webhook (TelegramBotController::maybeDispatchAi()). AI-бот теперь обрабатывает только callback_query (Accept/Cancel) — allowed_updates=['callback_query']. Удалён AiBotWebhookJob, legacy AiTelegramBotController и маршрут POST /api/telegram/ai/bot (#131).
  • AiAssistantService больше не использует Redis-кэш ai_context_* — методы getUserContext()/updateUserContext() удалены (#132).

Documentation

  • Новый operator guide docs/ai-assistant-guide.md — TL;DR, схема, режимы, гейтинг, ENV, Loki-источники, troubleshooting (#131).
  • BR-009/BR-014/BR-015/BR-016/BR-017/BR-018/BR-019 в rules/domain/ai-assistant.md. Раздел AI Assistant в CLAUDE.md синхронизирован (#131, #132).
  • rules/api/endpoints.md: POST /api/ai-bot/webhook добавлен, POST /api/telegram/ai/bot удалён, swagger-пути обновлены под Api-модуль (#120, #124).

Maintenance

  • Удалены неиспользуемые сервисы redisinsight и promtail из docker-compose.yml, удалён docker/promtail/promtail-config.yaml (#131).
  • scripts/linting/ (git hooks и check-скрипты) (#120).
  • github-tasks.json и resources/ai/system-prompt.blade.php в .gitignore (#120, #132).
  • Новые тесты: AiChatHistoryServiceTest, AiSystemPromptLoaderTest, DeliverAiAnswerToUserTest, AiBotControllerTest, обновлены OpenAiProviderTest/DeepSeekProviderTest/GigaChatProviderTest под новый buildSystemPrompt(AiRequestDto). Все 339+ тестов зелёные.

Closes

  • #120 — Перенос API-инфраструктуры в модуль
  • #123 — Вынесение AI-помощника в отдельный модуль
  • #124 — Автоответы AI через отдельного Telegram-бота
  • #131 — Перенос триггера AI-генерации в вебхук основного бота
  • #132 — История чата + Blade system prompt + multi-platform AI delivery

7.0.2 | Правки релиза №7

Choose a tag to compare

@prog-time prog-time released this 28 Mar 12:22
828ad4c

🗣 Есть вопросы или предложения? Присоединяйтесь к Telegram-группе поддержки
⭐️ Спасибо за ваши звёзды, фидбек и поддержку проекта!

7.0.1 | Поправил интеграцию с MAX

Choose a tag to compare

@prog-time prog-time released this 12 Mar 13:35
7c18663
  • Настроил обработку стартового сообщения
  • Написал инструкцию для подключения MAX

🗣 Есть вопросы или предложения? Присоединяйтесь к Telegram-группе поддержки
⭐️ Спасибо за ваши звёзды, фидбек и поддержку проекта!

7.0.0 | Добавил поддержку мессенджер MAX

Choose a tag to compare

@prog-time prog-time released this 11 Mar 22:45
7c18663

Что изменено:

  • issues 106 | Создание модуля мессенджера Max
  • feat(lang): Add new ban and ticket messages by

Новые контрибьютеры

🗣 Есть вопросы или предложения? Присоединяйтесь к Telegram-группе поддержки
⭐️ Спасибо за ваши звёзды, фидбек и поддержку проекта!

6.0.0 | Административная панель

Choose a tag to compare

@prog-time prog-time released this 08 Mar 17:43
61d773f

Задачи

  • issue 95 | Добавил правила для генерации кода через Claude AI и другие моделей
  • issue 97 | Перенёс Telegram интеграцию в отдельный модуль
  • issue 98 | Перенёс VK интеграцию в отдельный модуль
  • issue 98 | Перенёс External интеграцию в отдельный модуль
  • issue 101 | Создал admin панель

Что изменено

5.3.4 | Изменил логику закрытия обращения

Choose a tag to compare

@prog-time prog-time released this 25 Feb 20:29
0f70aec

Что изменено:

  • Issues 89 | Изменил логику закрытия обращения. Теперь при повторной отправке сообщения, чат-тема автоматически открывается
  • issues-88 | Поправил .env.example

Новые контрибьютеры:

🗣 Есть вопросы или предложения? Присоединяйтесь к Telegram-группе поддержки
⭐️ Спасибо за ваши звёзды, фидбек и поддержку проекта!

5.3.3 | Поправил Swagger документацию для API

Choose a tag to compare

@prog-time prog-time released this 18 Feb 20:21
05e0bfc

Поправил Swagger документацию для API

Задачи:

5.3.2 | Настройка живого чата

Choose a tag to compare

@prog-time prog-time released this 16 Feb 17:53
630c610

Что сделано

Issue 85 - Поправил работу с файлами в живом чате
Issue 84 - Убрал кастомный скрипт для Loki
Issue 83 - Поправил ошибки в сообщениях в формате Markdown

🗣 Есть вопросы или предложения? Присоединяйтесь к Telegram-группе поддержки
⭐️ Спасибо за ваши звёзды, фидбек и поддержку проекта!

5.3.1 | Мелкие правки по отправке сообщений

Choose a tag to compare

@prog-time prog-time released this 07 Feb 22:44
c4ac47e

What's Changed

Full Changelog: 5.3.0...5.3.1