Open Issues Need Help
View All on GitHubAI Summary: Implement unit tests for the `toggle_label` callback handler in a Rust Telegram bot project. The tests should cover successful label toggling, handling invalid dialogue states, errors from the repository service, and invalid repository IDs in the dialogue state.
A Telegram bot for tracking GitHub issues
AI Summary: Implement a proactive rate-limiting client for the GitHub API interaction within the Telegram bot. This involves checking the remaining rate limit quota using the `X-RateLimit-Remaining` and `X-RateLimit-Reset` headers before making requests, and intelligently delaying or pausing requests when the quota is low to prevent API rate limit errors.
A Telegram bot for tracking GitHub issues
AI Summary: Refactor the `action_toggle_label` function in `src/bot_handler/mod.rs` to remove redundant calls to `get_repo_github_labels`. The current implementation calls this function twice; it should be called only once after the label toggle operation to update the displayed labels. This involves restructuring the code to efficiently retrieve and update the label information.
A Telegram bot for tracking GitHub issues
AI Summary: Implement Telegram's `send_chat_action` method in the GitHub issue tracking bot to display a "Typing..." status while the bot is making API calls to GitHub. This will improve user experience by providing feedback during potentially lengthy operations.
A Telegram bot for tracking GitHub issues
AI Summary: Refactor the Telegram bot to introduce a service layer separating Telegram-specific logic from core business logic. This involves creating a new service layer to handle adding, removing, and listing repositories, managing labels, and interacting with the GitHub API. The existing `BotHandler` will be slimmed down to act as a translator between Telegram requests and the new service layer.
A Telegram bot for tracking GitHub issues
AI Summary: Refactor the Telegram bot code to centralize all command handling logic within the `handle_commands` function. Currently, some commands are handled directly in `handle_commands`, while others are triggered from `handle_callback_query`. The goal is to remove the duplicate command handling in `handle_callback_query` and have it solely focus on parsing callback data, delegating command execution to `handle_commands`.
A Telegram bot for tracking GitHub issues
AI Summary: Optimize the `process_add` function in the Telegram bot to reduce redundant database queries when adding new repositories. This involves modifying the `add_repo` function to perform a single 'upsert' or 'insert if not exists' operation instead of separate existence and tracking checks.
A Telegram bot for tracking GitHub issues
AI Summary: Implement persistent dialogue storage for a Telegram bot using SQLite to prevent data loss upon restarts. This involves creating a custom dialogue storage mechanism that interacts with the existing SQLite database, ensuring that conversation states are saved and restored correctly.
A Telegram bot for tracking GitHub issues
AI Summary: Implement comprehensive integration tests for a Telegram bot that interacts with the GitHub API and an SQLite database. Tests should cover adding and removing repositories, managing labels, handling invalid input, and preventing duplicate entries. The tests should use a mock GitHub client and a temporary SQLite database for isolation.
A Telegram bot for tracking GitHub issues
AI Summary: Enhance the existing Telegram bot to periodically check for newly created repositories owned by users or organizations whose repositories are already being tracked. If a new repository is found, the bot should notify the relevant user via Telegram.
A Telegram bot for tracking GitHub issues