2016-04-28 5 views
5

Привет, я создаю бота в телеграмме. Я посылаю запрос HTTP:
https://api.telegram.org/bot(mytoken)/setWebhook?url=https://mywebpagetorespondtobotКак использовать setwebhook в телеграмме?

и я получаю это:

{"ok":true,"result":true,"description":"Webhook was set"}

, но это не значит, work.I телеграмма не отправляет обновления на сервер. Это потому, что я не загрузил свой сертификат? Как мне это сделать?

+0

Как вы получаете обновления? –

+0

Когда я удаляю webhook, getUpdates() работает нормально –

+0

вы используете самоподписанный сертификат? –

ответ

4

Проверить наличие обновлений в настоящее время отправки, первое удалить webhook

https://api.telegram.org/bot(yourToken)/setWebhook 

Затем запустите бот, введите сообщение и проверить

https://api.telegram.org/bot(yourtoken)/getUpdates 


Если вы получаете обновления все работает отлично. Убедитесь, что ваш скрипт правильно обрабатывает входящие обновления.

Если вы не нашли , то могут возникнуть проблемы с сертификатом.
Самозаверяющие сертификаты должны сначала загружаться с помощью метода setWebhook, как описано here.

+0

Я удалил webhook и getUpdates() работал отлично. Мало проблема с сертификатом. Я прочитал ссылку, но я не знаю, как сгенерировать и отправить файл pem –

1

Это значит, что ваш открытый ключ неверен.

Вы можете проверить это URL https://api.telegram.org/bot {лексем}/getWebhookInfo после установки

Когда я послал неправильный открытый ключ - я получить

{"ok":true,"result":{"url":"","has_custom_certificate":false,"pending_update_count":6}} 

но если я послал правильный открытый ключ, я получаю:

{"ok":true,"result":{"url":"mycorrecturl.com","has_custom_certificate":true,"pending_update_count":6,"last_error_date":1506772578,"last_error_message":"SSL error {337047686, error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed}","max_connections":40}} 
Смежные вопросы