- Updated `.dockerignore` to exclude test and development artifacts, optimizing the Docker image size. - Refactored `main.py` to delegate execution to `duty_teller.run.main()`, simplifying the entry point. - Introduced a new `duty_teller` package to encapsulate core functionality, improving modularity and organization. - Enhanced `pyproject.toml` to define a script for running the application, streamlining the execution process. - Updated README documentation to reflect changes in project structure and usage instructions. - Improved Alembic environment configuration to utilize the new package structure for database migrations.
17 lines
522 B
Python
17 lines
522 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: Update | None, 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("Произошла ошибка. Попробуйте позже.")
|