refactor: перевести оставшиеся Telegram handlers на platform-neutral contracts #37

Closed
opened 2026-04-28 09:36:34 +03:00 by Toutsu · 1 comment
Owner

Контекст

После MVP не нужно переписывать все handler-ы сразу, но в v3 стоит довести platform-neutral архитектуру до конца.

Scope

  • Найти handler-ы, которые все еще напрямую зависят от Telegram API types.
  • Перевести cancel/reschedule/notifications/calendar-related flows на neutral commands/contracts.
  • Оставить Telegram-specific код только в router/adapter/rendering слоях.

Acceptance criteria

  • Core handlers тестируются без Telegram SDK.
  • Telegram и Discord routers используют одинаковые command contracts.
  • Новая платформа может добавляться adapter-ом, а не переписыванием core flow.
## Контекст После MVP не нужно переписывать все handler-ы сразу, но в v3 стоит довести platform-neutral архитектуру до конца. ## Scope - Найти handler-ы, которые все еще напрямую зависят от Telegram API types. - Перевести cancel/reschedule/notifications/calendar-related flows на neutral commands/contracts. - Оставить Telegram-specific код только в router/adapter/rendering слоях. ## Acceptance criteria - Core handlers тестируются без Telegram SDK. - Telegram и Discord routers используют одинаковые command contracts. - Новая платформа может добавляться adapter-ом, а не переписыванием core flow.
Toutsu added this to the Версия 3.0 — Platform & Club Expansion milestone 2026-04-28 09:36:34 +03:00
Author
Owner

Реализовано в PR #106 и выпущено в v3.2.0.

Также добавлен hotfix коммит 7a2965b — в PR #106 были забыты DI-регистрации для shared DeleteSessionHandler и ListSessionsHandler, что вызвало crash бота при старте на Native AOT-сборке. Исправлено и задеплоено через run #271.

Реализовано в PR #106 и выпущено в [v3.2.0](https://git.codeanddice.ru/Toutsu/GmRelayBot/releases/tag/v3.2.0). Также добавлен hotfix коммит `7a2965b` — в PR #106 были забыты DI-регистрации для shared `DeleteSessionHandler` и `ListSessionsHandler`, что вызвало crash бота при старте на Native AOT-сборке. Исправлено и задеплоено через run #271.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Toutsu/GmRelayBot#37