Refactor methods for Telegram Premium and Stars giveaways

- Added new methods for handling giveaways: `giveaway_premium` and `giveaway_stars`.
- Refactored existing purchase methods into separate files: `purchase_premium.py` and `purchase_stars.py`.
- Removed old premium and stars methods from the codebase.
- Updated `__init__.py` to include new giveaway methods in the public API.
- Introduced new result types for giveaways: `PremiumGiveawayResult` and `StarsGiveawayResult`.
- Updated constants for new giveaway pages.
- Enhanced error handling for configuration and user validation in giveaway methods.
- Updated tests to cover new functionality and refactored existing tests to match new method locations.
This commit is contained in:
bohd4nx
2026-03-21 16:05:38 +02:00
parent 0af5ce5935
commit 902b692dcb
17 changed files with 483 additions and 53 deletions
+3
View File
@@ -19,6 +19,9 @@ class ConfigurationError(ClientError):
INVALID_USERNAME = (
"Invalid username '{username}'. Must be 532 characters: letters (AZ, az), digits (09), or underscores (_)."
)
INVALID_WINNERS_STARS = "winners must be an integer between 1 and 5."
INVALID_WINNERS_PREMIUM = "winners must be an integer between 1 and 24 000."
INVALID_STARS_PER_WINNER = "amount must be an integer between 500 and 1 000 000 stars."
class CookieError(ClientError):