Не работает webhook Telegram

Telegram bot, не работает webhook на Let’s Encrypt SSL

Обсуждение установки и настройки поддерживаемых вебсерверов, а также работы с ними.
6 сообщений • Страница 1 из 1

Telegram bot, не работает webhook на Let’s Encrypt SSL

Сообщение SanekXXX4 » Чт янв 23, 2020 5:56 pm

Не работает бот телеграм, при отправление сообщения молчит, работает только на методе getUpdates. В чем может быть проблема?
При запросе https://api.telegram.org/bot******/setW . /*****.php выдает

При запросе https://api.telegram.org/bot******/getWebhookInfo выдает

Re: Telegram bot, не работает webhook на Let’s Encrypt SSL

Сообщение ninja » Пт янв 24, 2020 2:12 am

«has_custom_certificate»:false
Используйте самоподписной сертификат!

Re: Telegram bot, не работает webhook на Let’s Encrypt SSL

Сообщение SanekXXX4 » Пт янв 24, 2020 5:31 pm

Пт янв 24, 2020 2:12 am
«has_custom_certificate»:false
Используйте самоподписной сертификат!

Простой способ развернуть телеграмм бота с Aiogram + Webhook на хостинг

Устанавливал и другой сертификат который создает brainycp, также не работает( Или нужно делать не инструментами панели?

Re: Telegram bot, не работает webhook на Let’s Encrypt SSL

Сообщение ninja » Сб янв 25, 2020 6:13 pm

( Или нужно делать не инструментами панели?

Я делаю не в панели, но думаю, что не важно как вы создаете, важно, что надо сообщить Telegram, что у вас самоподписной, а не настоящий сертификат иначе он будет проверять его по всей строгости и конечно он не пройдет проверку.

Еще по теме:  Как раскрутить Телеграмм канал форум

Re: Telegram bot, не работает webhook на Let’s Encrypt SSL

Сообщение ninja » Сб янв 25, 2020 7:13 pm

Как делаю я и у меня все отлично работает на сервере с этой панелью.

Создаю сертификат через консоль

openssl req -newkey rsa:2048 -sha256 -nodes -keyout bot.key -x509 -days 365000 -out bot.pem -subj «/C=UA/ST=City/L=Exp/O=Telegram/CN=tut.vashBOT.domen»

Ложу bot.key и bot.pem в папку сайта, где допустим файл index.php
В панели brainycp перехожу (в режиме пользователя):
Сертификаты -> Управление SSL -> Установка сертификата

Выбрать сертификат
Выберите домен — выбирайте домен где будет бот tut.vashBOT.domen
Выберите ключ — Новый
Выберите сертификат — Новый

Данные сертификата
Сертификат (CRT) — сюда вставить содержимое созданного файла bot.pem
Закрытый ключ (KEY) — сюда вставить содержимое созданного файла bot.key
Нажать кнопку Установить Сертификат

В консоле cd /папка где лежат файлы bot.pem , bot.key
Выполнить:

Тут соответственно не забудьте исправить на свои:
tut.vashBOT.domen
tut.vashBOT.domen/bot.php
botVashapi:api

Далее пишите команды боту, должен ответить

Источник: community.brainycp.com

Telegram. Не приходит webhook по callback-кнопкам

Если более расширено, то webhook установлен, по нему приходят сообщения, написанные в бота. Посмотрел логи сервера, запросов к адресу webhook’а в момент нажатия нет, ошибок тоже нет. При использовании метода /getWebhookInfo — ошибок нет, последний отправленный webhook это message.

Python Telegram Бот На WebHook | Как Создать И Использовать Вебхуки Для Отправки Уведомлений

Кнопка передается подобным массивом:

Единственное, с чем это может быть связано(что нашел в интернете), с тем, что домен по ssllabs.com имеет рейтинг B, но тогда странно, что webhook приходит по сообщению в бота.

В интернете не удалось найти решение, может кто-то сталкивался с такой проблемой?

Еще по теме:  Если в поиске Телеграмм показывает что абонент не установил приложение а оно у него есть это значит

Ответы (1 шт):

Странно, что не смог зайти под этим пользователем(под которым писал вопрос).

Нашел решение для себя. При регистрации webhook’а для бота раньше я просто указывал ссылку на обработчик, то есть, общий запрос был вида:

* Preparing request to https://api.telegram.org/bot/setWebhook * Current time is 2021-04-03T20:25:23.173Z * Using libcurl/7.73.0-DEV OpenSSL/1.1.1g zlib/1.2.11 brotli/1.0.9 WinIDN libssh2/1.9.0_DEV nghttp2/1.41.0 * Using default HTTP version * Disable timeout * Enable automatic URL encoding * Enable SSL validation * Enable cookie sending with jar of 7 cookies * Found bundle for host api.telegram.org: 0x293aad18c60 [serially] * Can not multiplex, even if we wanted to! * Re-using existing connection! (#0) with host api.telegram.org * Connected to api.telegram.org (149.154.167.220) port 443 (#0) > POST /bot/setWebhook HTTP/1.1 > Host: api.telegram.org > User-Agent: insomnia/2021.2.2 > Content-Type: application/json > Accept: */* > Content-Length: 94 | < | «url»: «https://example.com/api/» | >

В этом случае, нажатие на callback-кнопку не приводило к отправке webhook’а

Затем я поменял немного запрос, передавая в него информацию о тех изменения, которые хочу получать в свой обработчик(массив «allowed_updates»), то есть запрос изменился на такой:

* Preparing request to https://api.telegram.org/bot/setWebhook * Current time is 2021-04-03T20:30:28.273Z * Using libcurl/7.73.0-DEV OpenSSL/1.1.1g zlib/1.2.11 brotli/1.0.9 WinIDN libssh2/1.9.0_DEV nghttp2/1.41.0 * Using default HTTP version * Disable timeout * Enable automatic URL encoding * Enable SSL validation * Enable cookie sending with jar of 7 cookies * Found bundle for host api.telegram.org: 0x293aad18c60 [serially] * Can not multiplex, even if we wanted to! * Re-using existing connection! (#0) with host api.telegram.org * Connected to api.telegram.org (149.154.167.220) port 443 (#0) > POST /bot/setWebhook HTTP/1.1 > Host: api.telegram.org > User-Agent: insomnia/2021.2.2 > Content-Type: application/json > Accept: */* > Content-Length: 94 | < | «url»: «https://example.com/api/», | «allowed_updates»: [«message»,»callback_query»] | >

После передачи дополнительного параметра «allowed_updates», нажатие на callback-кнопку стало приходить в мой обработчик.

Дополнительно внесу комментарий, что в документации по методу /setwebhook сказано, что при простой передаче url, webhook должен передаваться по всем событиям, кроме «chat_member», но видимо что-то поменялось, а в документации не отразили.

Еще по теме:  Как восстановить страницу Телеграмм без номера телефона

Источник: husl.ru

телеграмма webhook не работает (бот)

У меня проблема с веб-хуком! У меня есть форма для выдачи токена для моего бота-телеграммы и ответа на мой бот. Согласно вставке токена в форму. Когда я использую метод get update, все хорошо, но когда я использую веб-хук, не работает! Мой URL имеет сертификат SS l, веб-хук установлен.

Почтальон

  1. если ваш контроллер имеет значение true, вы должны убедиться, что сообщение Webhook отправлено Telegram. Вы можете скачать ngrok и создайте прокси https для вашего локального хоста.

Используйте эту команду в ngrok:

ngrok http 20201

20201 — ваш локальный порт (localhost: 20201).
Теперь ngrok даст вам ссылку https, и вы должны установить эту ссылку в качестве своего телеграмма (как вы сказали).
В этот момент, если telegram отправляет сообщение для вашего бота через webhook, вы можете отладить его на локальном хосте.

  1. Наконец, если вы не нашли проблему, вы должны прочитать Патентное руководство Марвина по всем вещам Webhook чтобы проверить все требования еще раз.
  1. Поддерживает IPv4, IPv6 в настоящее время не поддерживается для веб-хуков.
  2. Принимает входящие сообщения POST от 149.154.167.197-233 через порт 443,80,88 или 8443.
  3. Умеет обрабатывать TLS1.0 + HTTPS-трафик.
  4. Предоставляет поддерживаемый, не подстановочный, проверенный или самоподписанный сертификат.
  5. Использует CN или SAN., Который соответствует домену, который вы указали при настройке.
  6. Поставляет все промежуточные сертификаты для завершения цепочки проверки.

для тех, кому нужно запустить / отладить бот telegram на localhost, возможно, вы можете использовать этот пакет npm.

просто установите его как глобальный пакет на вашем компьютере, используя
npm install -g telehook

Источник: web-answers.ru

Рейтинг
( Пока оценок нет )
Загрузка ...