* feat: add comprehensive Telegram notification support
Add complete Telegram bot integration for AI Marketplace Monitor notifications:
- Implement TelegramNotificationConfig with bot token and chat ID authentication
- Add MarkdownV2 message formatting with proper escaping for Telegram
- Implement intelligent message splitting for 4096 character limit
- Add global rate limiting (30 messages/second) with automatic retry logic
- Support for HTTP 429 handling and connection error recovery
- Add configuration validation and detailed error handling
- Include comprehensive unit tests with async operation mocking
- Add detailed setup documentation with troubleshooting guide
- Support environment variable configuration for security
- Compatible with individual users and group chats
Includes dependency: python-telegram-bot for reliable Telegram API integration
* refactor: remove redundant telegram auto-creation logic
- Remove duplicate telegram notification creation in config.py since notify_all already handles this
- Fix unnecessary else clause after early return in telegram.py
- Remove obsolete tests for auto-creation behavior
- Clean up unused imports
The notification system continues to work via the existing notify_all method which dynamically creates notification objects when user configs contain required fields.
* refactor: simplify message splitting using textwrap module
Replace manual word boundary splitting logic with Python's built-in
textwrap.wrap() function. This reduces ~30 lines of custom logic to
a single line while maintaining identical functionality.
- Use textwrap.wrap() with break_long_words=False
- Maintains word boundary splitting behavior
- All existing tests continue to pass
* Update facebook.py
Regional changes means soemtime "freestuff" is the category, and sometimes it is "free"
* Update README.md
* Update facebook.py
free enum - remove min_price and max_price from querystring
* Update README.md
fixed weird typos
* Update README.md
Added free category to documentation.