Страница 1 из 1

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

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

Код: Выделить всё

{"ok":true,"result":true,"description":"Webhook is already set"}
При запросе https://api.telegram.org/bot******/getWebhookInfo выдает

Код: Выделить всё

{"ok":true,"result":{"url":"https://*****/api_telegramm/***.php","has_custom_certificate":false,"pending_update_count":35,"last_error_date":1579801195,"last_error_message":"Connection timed out","max_connections":40}}

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

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

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

Добавлено: Пт янв 24, 2020 5:31 pm
SanekXXX4
ninja писал(а):
Пт янв 24, 2020 2:12 am
"has_custom_certificate":false
Используйте самоподписной сертификат!
Устанавливал и другой сертификат который создает brainycp, также не работает( Или нужно делать не инструментами панели?

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

Добавлено: Сб янв 25, 2020 6:13 pm
ninja
( Или нужно делать не инструментами панели?
Я делаю не в панели, но думаю, что не важно как вы создаете, важно, что надо сообщить Telegram, что у вас самоподписной, а не настоящий сертификат иначе он будет проверять его по всей строгости и конечно он не пройдет проверку.

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

Добавлено: Сб янв 25, 2020 7:13 pm
ninja
Как делаю я и у меня все отлично работает на сервере с этой панелью.

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

Код: Выделить всё

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
Выполнить:

Код: Выделить всё

curl -F "url=https://tut.vashBOT.domen/bot.php" -F "certificate=@bot.pem" "https://api.telegram.org/botVashapi:api/setwebhook"
Именно знак "@" тут certificate=@bot.pem указывает Телеграм, что сертификат самоподписной.

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

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

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

Добавлено: Сб янв 25, 2020 7:47 pm
ninja

Код: Выделить всё

"last_error_message":"Connection timed out"
Хотя сообщает, что у вас ошибка не в сертификате :?