Files
Roblox-Buyer/utils/logging.py
T

52 lines
1.5 KiB
Python

import logging
from aiogram.enums import ParseMode
from aiogram.types import CallbackQuery, FSInputFile
async def log_admin(bot, admin_id: int, text: str, log_bot=None) -> None:
try:
target = log_bot or bot
await target.send_message(admin_id, text, parse_mode=ParseMode.HTML)
except Exception as exc:
logging.error("log_admin: %s", exc)
async def log_admin_document(bot, admin_id: int, path: str, caption: str | None = None, log_bot=None) -> None:
try:
target = log_bot or bot
await target.send_document(
admin_id,
document=FSInputFile(path),
caption=caption,
parse_mode=ParseMode.HTML,
)
except Exception as exc:
logging.error("log_admin_document: %s", exc)
async def safe_edit(
cb: CallbackQuery,
text: str,
reply_markup=None,
parse_mode=ParseMode.HTML,
disable_web_page_preview: bool = False,
) -> None:
try:
await cb.message.edit_text(
text,
reply_markup=reply_markup,
parse_mode=parse_mode,
disable_web_page_preview=disable_web_page_preview,
)
except Exception:
try:
await cb.message.answer(
text,
reply_markup=reply_markup,
parse_mode=parse_mode,
disable_web_page_preview=disable_web_page_preview,
)
except Exception as exc:
logging.error("safe_edit fail: %s", exc)