Size: a a a

pyTelegramBotApi.talks.ru

2021 June 21

M

M in pyTelegramBotApi.talks.ru
Причем сами админы
источник

S

SΗΛβΔΛΝ in pyTelegramBotApi.talks.ru
У нас тут так всегда
источник

НШ

Никита Шаповалов... in pyTelegramBotApi.talks.ru
Привет!

Вчера при отправке рандомного сообщения выскочила ошибка
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1129)

До/после все нормально, но это сообщение, есессно, не было отправлено.
Кто-нибудь сталкивался?

Как вообще отправлять сообщения повторно, если что-то в соединении сломалось? Не писать же try-except к каждому send_message
источник

EA

Eugene Artesius Pask... in pyTelegramBotApi.talks.ru
Net
источник

В

ВВО in pyTelegramBotApi.talks.ru
Нет
источник

П

Пасюк Лошадкин... in pyTelegramBotApi.talks.ru
Ну вообще других способов кроме try except я не знаю
источник

П

Пасюк Лошадкин... in pyTelegramBotApi.talks.ru
(с плохим соединением вообще не сталкивался, на хостинге такой проблемы нет). Сообщение не отправляется максимум если бота заблокировали
источник

НШ

Никита Шаповалов... in pyTelegramBotApi.talks.ru
Нет, там другой exception тогда
источник

НШ

Никита Шаповалов... in pyTelegramBotApi.talks.ru
telebot.apihelper.ApiTelegramException 403

Если не ошибаюсь
источник

НШ

Никита Шаповалов... in pyTelegramBotApi.talks.ru
А тут именно что-то с инетом случилось
источник

П

Пасюк Лошадкин... in pyTelegramBotApi.talks.ru
Не суть. В except тебе надо ловить это, и всё.
источник

НШ

Никита Шаповалов... in pyTelegramBotApi.talks.ru
Ну это же дичь к каждой отправке сообщения писать try-except.

Мб кто-нибудь заморочился написать декоратор для повторной отправки в bot.send_message?
источник

П

Пасюк Лошадкин... in pyTelegramBotApi.talks.ru
Если хочешь, чтобы бот не падал от ошибки отправки, сделай polling с аргументом none_stop=True
источник

НШ

Никита Шаповалов... in pyTelegramBotApi.talks.ru
Не, я не об этом) У меня бот вообще не вебхуках и через супервизор запущен, то есть он не упадёт энивей.
Вопрос, как сделать так, чтобы сообщение было точно доставлено, пусть с нескольких попыток
источник

П

Пасюк Лошадкин... in pyTelegramBotApi.talks.ru
Починить интернет, найти норм хостинг
источник

П

Пасюк Лошадкин... in pyTelegramBotApi.talks.ru
Либо сделай функцию, отправляющую сообщение до тех пор, пока оно не отправится
источник

П

Пасюк Лошадкин... in pyTelegramBotApi.talks.ru
И вместо bot.send_message(...)
Пиши sendmessage(bot, chatid, text...)
источник

П

Пасюк Лошадкин... in pyTelegramBotApi.talks.ru
Ну ты понял
источник

НШ

Никита Шаповалов... in pyTelegramBotApi.talks.ru
Кстати, это норм тема, тоже об этом подумал
источник

П

Пасюк Лошадкин... in pyTelegramBotApi.talks.ru
def sendmessage(bot, id, text):
   while True:
       try:
           bot.send_message(id, text)
           return
       except:
           pass
источник