@id2669099

Почему не устанавливается webhook telegram через celery?

Здравствуйте, пытаюсь установить webhook для telegram-бота, для этого у меня есть task в celery.
Таск очень простой: он просто делает post request на адрес https://api.telegram.org/bottoken/setWebhook, где в в теле запроса содержит url куда слать вебхуки. Казалось бы чего тут сложного? Запрос проходит, telegram отвечает что вебхук установлен, но ничего не шлёт, при запросе метода https://api.telegram.org/bottoken/getWebhookInfo, telegram отвечает вот так:
{
    'ok': True, 
    'result': {
        'url': 'https://<url>/75d78ee1-835f-461b-85bc-e5a755a829d4/webhook/telegram/', 
        'has_custom_certificate': False, 
        'pending_update_count': 0, 
        'last_error_date': 1518608932, 
        'last_error_message': 'SSL error {337047686, error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed}', 
        'max_connections': 40
    }
}


ну ок, допустим что сертификат который был получен у letsencrypt не подходит (хотя на сайте ssllabs у него класс A), но он подходит, потому что если я делаю такой же самый request, с того же самого сервера, но не в контексте таска, который выполняет воркер селери, то всё получается и telegram шлёт на этот адрес всё и никакой ругани на ssl нет!
Подскажите, чем так celery не угодил телеграму? У меня в голове просто связности нет.

Вот так я делаю request для установки webhook:
data = {
    'url': 'https://<url>/75d78ee1-835f-461b-85bc-e5a755a829d4/webhook/telegram/',
}

requests.post('https://api.telegram.org/bottoken/setWebhook', json=data)


P.S.:
Вот ответ после реквеста без celery:
{
    'ok': True, 
    'result': {
        'url': 'https://<url>/75d78ee1-835f-461b-85bc-e5a755a829d4/webhook/telegram/', 
        'has_custom_certificate': False, 
        'pending_update_count': 0, 
        'max_connections': 40
    }
}
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы