Initial commit

This commit is contained in:
2023-08-27 22:43:16 +02:00
commit 502ed0406e
40 changed files with 1854 additions and 0 deletions

30
classes/callbacks.py Normal file
View File

@@ -0,0 +1,30 @@
from dataclasses import dataclass
from pyrogram.types import CallbackQuery
@dataclass
class CallbackLanguage:
__slots__ = ("language",)
language: str
@classmethod
def from_callback(cls, callback: CallbackQuery):
"""Parse callback query and extract language data from it.
### Args:
* callback (`CallbackQuery`): Callback query got from user interaction.
### Raises:
* `ValueError`: Raised when callback provided is not a language one.
### Returns:
* `CallbackLanguage`: Parsed callback query.
"""
action, language = str(callback.data).split(":")
if action.lower() != "language":
raise ValueError("Callback provided is not a language callback")
return cls(language)