-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Implement the Notify Queue System
Objective
Implement a notification system where messages sent to RabbitMQ are consumed by messenger-specific consumers to notify users
Tasks
Consumer Implementation
-
consumers/telegram_sender.py- Message sending via Telegram Bot API -
consumers/discord_sender.py- Message sending via Discord API -
consumers/slack_sender.py- Message sending via Slack Bot API -
consumers/consumer.py- Common base class
RabbitMQ Integration
-
services/rabbitmq.py- Message publishing service implementation - Connect each consumer with RabbitMQ (message receiving and processing)
Configuration & Environment
-
core/config.py- Add messenger API keys and RabbitMQ configuration -
main.py- Start consumer background tasks
Tech Stack
- Message Queue: RabbitMQ
- Telegram:
python-telegram-bot - Discord: Discord API (
aiohttp) - Slack: Slack Bot API (
slack-sdkorrequests)
Message Structure (Example)
{
"content": "Player Steve has joined the server.",
"priority": 1,
"timestamp": "2025-07-11T10:30:00Z"
}Success Criteria
- Messages sent to RabbitMQ are properly delivered to each messenger
- If one consumer fails, other consumers continue to work normally
- Message delivery failures are logged
Follow-up Tasks
- Unit test implementation (separate issue)
- Enhanced error handling and retry logic
- Message template system implementation
- Dead Letter Queue (DLQ) implementation for failed messages
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request