Skip to content

Conversation

@Olderestin
Copy link
Member

This implementation includes:

  1. fsm

    • The logic for managing state transitions. State and its data are coupled.
  2. message_queue

    • A message queue for handling message sending proccess with prioritization.
  3. routers:

    • filters

      • Filters to selectively process incoming requests based on criteria.
    • middlewares

      • Middlewares to handle common tasks.
    • handle message and callbackquery updates

@brizzinck brizzinck marked this pull request as draft September 20, 2025 22:08
@brizzinck brizzinck requested a review from Copilot September 21, 2025 14:19
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Member

@brizzinck brizzinck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also make a documentation and tests for each package!! Fix LINT!!! And pls make API in root directory, i don't like internal packages

@YaCodesDevelopment YaCodesDevelopment marked this pull request as ready for review September 25, 2025 21:56
@Olderestin Olderestin requested a review from a team December 8, 2025 22:25
@YaCodesDevelopment
Copy link
Member

YaCodesDevelopment commented Dec 11, 2025

@Olderestin Check all the previous conversations and resolve those
Make sure to open all such blocks:
Screenshot from 2025-12-11 18-39-37

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants