Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR implements a base Telegram bot framework with state management, message queuing, and routing capabilities. The implementation provides a modular architecture for handling Telegram updates with filtering, middleware support, and localization.
Key changes:
- Finite State Machine (FSM) implementation for managing user states with Redis backend
- Priority-based message queue system for handling outbound messages
- Router system with filters and middleware support for processing messages and callback queries
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| yatgbot/fsm/fsm.go | Core FSM interface and Redis-backed storage implementation |
| yatgbot/fsm/userfsm.go | User-specific FSM storage wrapper |
| yatgbot/localizer/localizer.go | Localization system with JSON-based language files |
| yatgbot/messagequeue/heap.go | Priority heap implementation for message queuing |
| yatgbot/messagequeue/queue.go | Message queue dispatcher with worker pool |
| yatgbot/router/dispatcher.go | Update dispatching logic with filter checking |
| yatgbot/router/filter.go | Filter implementations for routing decisions |
| yatgbot/router/middlewares.go | Middleware chaining system |
| yatgbot/router/router.go | Main router implementation with dependency injection |
| yatgbot/router/schema.go | Data structures for handler context |
| yatgbot/router/updates.go | Update handler bindings for Telegram dispatcher |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
brizzinck
left a comment
There was a problem hiding this comment.
Also make a documentation and tests for each package!! Fix LINT!!! And pls make API in root directory, i don't like internal packages
Also improve file structure
|
@Olderestin Check all the previous conversations and resolve those |
YaCodesDevelopment
left a comment
There was a problem hiding this comment.
Generally, everything is OK, but there are a few minor edits I'd ask for

This implementation includes:
fsmmessage_queuerouters:filtersmiddlewareshandle
messageandcallbackqueryupdates