refactor: ввести PlatformKind, PlatformUser, PlatformGroup и IPlatformMessenger #24

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

Контекст

Join/Leave/Cancel/Reschedule должны постепенно перестать знать, Telegram это или Discord.

Scope

  • Добавить PlatformKind с Telegram, Discord, Max.
  • Добавить records PlatformUser и PlatformGroup.
  • Ввести IPlatformMessenger для отправки/обновления расписаний, приватных сообщений, ответов на interactions и календарных файлов.
  • Telegram adapter реализует новый контракт поверх текущей отправки сообщений.

Acceptance criteria

  • Новые контракты лежат в platform-neutral слое.
  • Telegram flow проходит через adapter без изменения поведения.
  • DiscordBot может ссылаться на контракт без зависимости от Telegram assemblies.
## Контекст Join/Leave/Cancel/Reschedule должны постепенно перестать знать, Telegram это или Discord. ## Scope - Добавить `PlatformKind` с `Telegram`, `Discord`, `Max`. - Добавить records `PlatformUser` и `PlatformGroup`. - Ввести `IPlatformMessenger` для отправки/обновления расписаний, приватных сообщений, ответов на interactions и календарных файлов. - Telegram adapter реализует новый контракт поверх текущей отправки сообщений. ## Acceptance criteria - Новые контракты лежат в platform-neutral слое. - Telegram flow проходит через adapter без изменения поведения. - DiscordBot может ссылаться на контракт без зависимости от Telegram assemblies.
Toutsu added this to the Версия 2.0 — Discord Bot MVP milestone 2026-04-28 09:35:17 +03:00
Toutsu added the pending-approval label 2026-05-06 15:18:18 +03:00
Author
Owner

Реализовано в PR #80 и выпущено в v2.0.1.

Коротко:

  • добавлены platform-neutral контракты в GmRelay.Shared.Platform;
  • Telegram outbound flow для session schedule/direct notifications/interaction replies/calendar export переведён на TelegramPlatformMessenger;
  • добавлена проверка identity existing schedule message перед update;
  • PR CI #186 и deploy #187 завершились успешно.

Merge commit: df01aa9f3e5f6dd17a5232e78d1d74183e53e10e.

Реализовано в PR #80 и выпущено в [v2.0.1](https://git.codeanddice.ru/Toutsu/GmRelayBot/releases/tag/v2.0.1). Коротко: - добавлены platform-neutral контракты в `GmRelay.Shared.Platform`; - Telegram outbound flow для session schedule/direct notifications/interaction replies/calendar export переведён на `TelegramPlatformMessenger`; - добавлена проверка identity existing schedule message перед update; - PR CI #186 и deploy #187 завершились успешно. Merge commit: `df01aa9f3e5f6dd17a5232e78d1d74183e53e10e`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Toutsu/GmRelayBot#24