Почему телеграм бот не запускается, когда вебхук выполнен успешно?
Разрабатываю Telegram-бота c помощью Serverless по видео и документации от Yandex Cloud.
Видео вместе с документацией по которой я делаю бота: https://cloud.yandex.ru/ru/docs/api-gateway/tutori...
Я повторял за чуваком в видео и сделал почти тоже самое параллельно читая документацию к данному видео, но на предпоследнем пункте: 7. Настройте связь между функцией и Telegram-ботом. Вот.
Как только я сделал вебхук и получил ответ: {"ok":true,"result":true,"description":"Webhook was set"} Всё. Наш бот уже по сути должен быть доступен и работать, но бот не отвечает в телеграмм! Как будто зря было проделанно столько работы ¯_(ツ)_/¯
Дополнительно:
Логи функции смотрели?
Без кода сложно что-то подсказать.
const { Telegraf } = require('telegraf');
const bot = new Telegraf(process.env.BOT_TOKEN);
bot.start((ctx) => ctx.reply(`Hello. nMy name Serverless Hello Telegram Bot nI'm working on Cloud Function in the Yandex Cloud.`))
bot.help((ctx) => ctx.reply(`Hello, ${ctx.message.from.username}.nI can say Hello and nothing more`))
bot.on('text', (ctx) => {
ctx.replyWithPhoto({url: '<домен_API-шлюза>/sayhello.png'});
ctx.reply(`Hello, ${ctx.message.from.username}`);
});
module.exports.handler = async function (event, context) {
const message = JSON.parse(event.body);
await bot.handleUpdate(message);
return {
statusCode: 200,
body: '',
};
};
package.json:
{
"name": "ycf-telegram-example",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "",
"license": "MIT",
"dependencies": {
"telegraf": "^4.12.0"
}
}
Смотрите документацию...
По шаблону:
curl ^
--request POST ^
--url https://api.telegram.org/bot<токен_бота>/setWebhook ^
--header "content-type: application/json" ^
--data "{"url": "<домен_API-шлюза>/fshtb-function"}"
Спасибо!!!
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос



Существует несколько возможных причин, по которым телеграм бот не запускается, даже если вебхук был успешно выполнен. Давайте рассмотрим некоторые из них:
1. **Проверьте URL вебхука**: Убедитесь, что URL, который вы указали в качестве вебхука для вашего телеграм бота, действителен и доступен. Проверьте, что вы используете правильный протокол (HTTP или HTTPS) и правильный домен.
2. **Проверьте настройки бота**: Убедитесь, что вы правильно настроили своего телеграм бота. Проверьте токен бота и убедитесь, что он правильно указан в вашем коде.
3. **Проверьте код бота**: Проверьте ваш код на наличие ошибок. Убедитесь, что вы правильно настроили обработчики событий и что ваш бот может отвечать на входящие запросы.
Вот пример кода на PHP, который показывает, как можно настроить телеграм бота с использованием вебхука:
Если после проверки всех этих аспектов ваш телеграм бот по-прежнему не запускается, рекомендуется обратиться к документации телеграм API или обратиться за помощью к сообществу разработчиков.