- Improved formatting and readability in config.py and other files by adding line breaks. - Introduced INIT_DATA_MAX_AGE_SECONDS to enforce replay protection for Telegram initData. - Updated validate_init_data function to include max_age_seconds parameter for validation. - Enhanced API to reject old initData based on the new max_age_seconds setting. - Added tests for auth_date expiry and validation of initData in test_telegram_auth.py. - Updated README with details on the new INIT_DATA_MAX_AGE_SECONDS configuration.
15 lines
509 B
Python
15 lines
509 B
Python
"""Global error handler: log exception and notify user."""
|
|
|
|
import logging
|
|
|
|
from telegram import Update
|
|
from telegram.ext import ContextTypes
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
async def error_handler(update: object, context: ContextTypes.DEFAULT_TYPE) -> None:
|
|
logger.exception("Exception while handling an update")
|
|
if isinstance(update, Update) and update.effective_message:
|
|
await update.effective_message.reply_text("Произошла ошибка. Попробуйте позже.")
|