telegram-bot (C4 Level 3)
Ответственность
- aiogram 3.x handlers
- FSM: MainMenu → InLobby → InGame
- Маппинг telegram_user → Participant
- Inline keyboards для dice_board
- Подписка на NATS events
Компоненты
flowchart TB
subgraph bot [telegram-bot]
Dispatcher[aiogram Dispatcher]
FSM[FSM Storage Redis]
CmdHandlers[Command Handlers]
CallbackHandlers[Callback Handlers]
EventConsumer[NATS Consumer]
APIClient[Backend HTTP Client]
MediaUpdater[Message Media Updater]
end
TG[Telegram API] --> Dispatcher
Dispatcher --> FSM
Dispatcher --> CmdHandlers
Dispatcher --> CallbackHandlers
CmdHandlers --> APIClient
CallbackHandlers --> APIClient
EventConsumer --> MediaUpdater
MediaUpdater --> TG
APIClient --> Session[session-service]
APIClient --> Game[game-runtime]
APIClient --> Media[media-service]
NATS[NATS] --> EventConsumer
| Компонент | Описание |
|---|---|
| Command Handlers | /start, /join, /leave |
| Callback Handlers | roll_dice, choose_cell:{r}:{c} |
| FSM Storage | Redis aiogram FSMContext |
| Event Consumer | game.state_changed → update UI |
| Media Updater | edit_message_media + keyboard |
FR
FR-044–FR-046, FR-026