29 lines
871 B
Python
29 lines
871 B
Python
import logging
|
|
import traceback
|
|
from io import StringIO # Для перевода лога в переменную
|
|
|
|
import telebot
|
|
|
|
# Базовая инициализация
|
|
global log_stream
|
|
log_stream = StringIO()
|
|
logging.basicConfig(stream=log_stream)
|
|
|
|
def catch_error(bot, message, err_type = None):
|
|
try:
|
|
if not err_type:
|
|
global log_stream
|
|
|
|
logging.error(traceback.format_exc()) # Логирование ошибок
|
|
err = log_stream.getvalue() # Ошибка -> переменная
|
|
|
|
bot.reply_to(message, 'Critical error:\n\n' + telebot.formatting.hcode(err), parse_mode='HTML')
|
|
|
|
# Очистка логов
|
|
log_stream.truncate(0)
|
|
log_stream.seek(0)
|
|
elif err_type == 'spec_symb':
|
|
bot.reply_to(message, 'Невозможно отправить сообщение из-за специфических символов')
|
|
except:
|
|
pass
|