diff --git a/evtg_publish.py b/evtg_publish.py index 3c6cb4b..59f704b 100644 --- a/evtg_publish.py +++ b/evtg_publish.py @@ -148,6 +148,11 @@ async def tg_post_event(bot, event_data): ) except TelegramError as e: logger.warning(f"Не удалось отправить изображение для события номер {event_data['number']}: {e}. Отправляем текстовое сообщение.") + logger.error(f"Полная информация об ошибке Telegram при отправке изображения для события {event_data['number']}:") + logger.error(f" Тип ошибки: {type(e).__name__}") + logger.error(f" Сообщение: {str(e)}") + logger.error(f" Все атрибуты ошибки: {vars(e)}") + logger.error(f" Полное представление: {repr(e)}") message = await bot.send_message( chat_id=CHANNEL_ID, text=initial_text, @@ -187,6 +192,11 @@ async def tg_post_event(bot, event_data): ) except TelegramError as e: logger.warning(f"Не удалось отредактировать подпись для события номер {event_data['number']}: {e}. Пробуем отредактировать текстовое сообщение.") + logger.error(f"Полная информация об ошибке Telegram при редактировании подписи для события {event_data['number']}:") + logger.error(f" Тип ошибки: {type(e).__name__}") + logger.error(f" Сообщение: {str(e)}") + logger.error(f" Все атрибуты ошибки: {vars(e)}") + logger.error(f" Полное представление: {repr(e)}") await bot.edit_message_text( chat_id=CHANNEL_ID, message_id=message_id, @@ -209,9 +219,19 @@ async def tg_post_event(bot, event_data): # Обработка ошибки FloodWait (429) logger.error(f"Получена ошибка FloodWait (429) при публикации события номер {event_data['number']}: {e}") logger.error(f"Необходимо подождать {e.retry_after} секунд перед следующей попыткой") + logger.error(f"Полная информация об ошибке RetryAfter для события {event_data['number']}:") + logger.error(f" Тип ошибки: {type(e).__name__}") + logger.error(f" Сообщение: {str(e)}") + logger.error(f" Все атрибуты ошибки: {vars(e)}") + logger.error(f" Полное представление: {repr(e)}") raise # Пробрасываем исключение выше для обработки на уровне цикла except TelegramError as e: logger.error(f"Ошибка Telegram при публикации события номер {event_data['number']}: {e}") + logger.error(f"Полная информация об ошибке Telegram для события {event_data['number']}:") + logger.error(f" Тип ошибки: {type(e).__name__}") + logger.error(f" Сообщение: {str(e)}") + logger.error(f" Все атрибуты ошибки: {vars(e)}") + logger.error(f" Полное представление: {repr(e)}") return None except Exception as e: logger.error(f"Неожиданная ошибка при публикации события номер {event_data['number']}: {e}") @@ -295,9 +315,19 @@ async def tg_post_event_by_id(id_event): logger.error(f"Не удалось опубликовать событие ID {id_event}") except RetryAfter as e: + logger.error(f"Полная информация об ошибке RetryAfter в tg_post_event_by_id для события ID {id_event}:") + logger.error(f" Тип ошибки: {type(e).__name__}") + logger.error(f" Сообщение: {str(e)}") + logger.error(f" Все атрибуты ошибки: {vars(e)}") + logger.error(f" Полное представление: {repr(e)}") raise e except Exception as e: logger.error(f"Ошибка при публикации: {e}") + logger.error(f"Полная информация об ошибке в tg_post_event_by_id для события ID {id_event}:") + logger.error(f" Тип ошибки: {type(e).__name__}") + logger.error(f" Сообщение: {str(e)}") + logger.error(f" Все атрибуты ошибки: {vars(e)}") + logger.error(f" Полное представление: {repr(e)}") finally: if conn: conn.close() @@ -353,9 +383,19 @@ async def tg_post_all_events(): except RetryAfter as e: logger.error(f"Прерываем публикацию из-за ошибки FloodWait. Ожидание: {e.retry_after} секунд") + logger.error(f"Полная информация об ошибке RetryAfter в tg_post_all_events для события ID {event['id_event']}:") + logger.error(f" Тип ошибки: {type(e).__name__}") + logger.error(f" Сообщение: {str(e)}") + logger.error(f" Все атрибуты ошибки: {vars(e)}") + logger.error(f" Полное представление: {repr(e)}") break except Exception as e: logger.error(f"Ошибка при публикации события ID {event['id_event']}: {e}") + logger.error(f"Полная информация об ошибке в tg_post_all_events для события ID {event['id_event']}:") + logger.error(f" Тип ошибки: {type(e).__name__}") + logger.error(f" Сообщение: {str(e)}") + logger.error(f" Все атрибуты ошибки: {vars(e)}") + logger.error(f" Полное представление: {repr(e)}") # Продолжаем публикацию следующих событий, несмотря на ошибку logger.info(f"Опубликовано событий в этом запуске: {event_count}")