57 lines
2.0 KiB
Python
57 lines
2.0 KiB
Python
import logging
|
|
|
|
from bot import dp
|
|
|
|
|
|
@dp.errors_handler()
|
|
async def errors_handler(update, exception):
|
|
"""
|
|
Exceptions handler. Catches all exceptions within task factory tasks.
|
|
:param dispatcher:
|
|
:param update:
|
|
:param exception:
|
|
:return: stdout logging
|
|
"""
|
|
from aiogram.utils.exceptions import (Unauthorized, InvalidQueryID, TelegramAPIError,
|
|
CantDemoteChatCreator, MessageNotModified, MessageToDeleteNotFound,
|
|
MessageTextIsEmpty, RetryAfter,
|
|
CantParseEntities, MessageCantBeDeleted)
|
|
|
|
if isinstance(exception, CantDemoteChatCreator):
|
|
logging.debug("Can't demote chat creator")
|
|
return True
|
|
|
|
if isinstance(exception, MessageNotModified):
|
|
logging.debug('Message is not modified')
|
|
return True
|
|
if isinstance(exception, MessageCantBeDeleted):
|
|
logging.debug('Message cant be deleted')
|
|
return True
|
|
|
|
if isinstance(exception, MessageToDeleteNotFound):
|
|
logging.debug('Message to delete not found')
|
|
return True
|
|
|
|
if isinstance(exception, MessageTextIsEmpty):
|
|
logging.debug('MessageTextIsEmpty')
|
|
return True
|
|
|
|
if isinstance(exception, Unauthorized):
|
|
logging.info(f'Unauthorized: {exception}')
|
|
return True
|
|
|
|
if isinstance(exception, InvalidQueryID):
|
|
logging.exception(f'InvalidQueryID: {exception} \nUpdate: {update}')
|
|
return True
|
|
|
|
if isinstance(exception, TelegramAPIError):
|
|
logging.exception(f'TelegramAPIError: {exception} \nUpdate: {update}')
|
|
return True
|
|
if isinstance(exception, RetryAfter):
|
|
logging.exception(f'RetryAfter: {exception} \nUpdate: {update}')
|
|
return True
|
|
if isinstance(exception, CantParseEntities):
|
|
logging.exception(f'CantParseEntities: {exception} \nUpdate: {update}')
|
|
return True
|
|
logging.exception(f'Update: {update} \n{exception}')
|