Files
tg_post_min/app/bot/handlers/errors.py
Andrey K. Choi c16ec54891 Bot become a Community Guard & Post send manager
added: dictionary support for censore
message/user management with dict triggers
2025-08-22 21:44:14 +09:00

17 lines
697 B
Python

import traceback
from telegram.ext import ContextTypes
from app.db.session import get_session
from app.db.models import ModerationLog
async def on_error(update: object, context: ContextTypes.DEFAULT_TYPE) -> None:
try:
chat_id = getattr(getattr(update, "effective_chat", None), "id", 0)
user_id = getattr(getattr(update, "effective_user", None), "id", 0)
err = "".join(traceback.format_exception(context.error))[-4000:]
with get_session() as s:
s.add(ModerationLog(chat_id=chat_id or 0, tg_user_id=user_id or 0,
message_id=None, reason=err, action="error"))
s.commit()
except Exception:
pass