Телеграмм бот не отвечает
Есть Telegram bot с использованием вебхук. Сделала по работающему образцу , подставив свои значения. Сертификаты выдал провайдер, на сервере которого мой сайт. Я их проверила, оценка А. Однако бот не реагирует, хотя и ошибок не выдает.
from flask import Flask, request, jsonify
import telebot, time
server= Flask(__name__)
bot_token="мой токен"
bot = telebot.TeleBot(bot_token)
bot.remove_webhook()
time.sleep(2)
IP="https://api.telegram.org/bot мой токен/setWebhook?url=https://24komissaro2.ru:8443/"
bot.set_webhook(url="https://api.telegram.org/bot мой токен/setWebhook?
url=https://24komissaro2.ru:8443/")
@server.route("/ ", methods=['POST'])
def getMessage():
r = request.get_json()
if "message" in r.keys():
chat_id = r["message"]["chat"]["id"]
if "text" in r["message"]:
text_mess = r["message"]["text"]
else:
bot.send_message(chat_id=chat_id, text="Какая то не понятная проблема", parse_mode='HTML')
return "ok", 200
if text_mess == '/start':
bot.send_message(chat_id=chat_id, text="Привет WebHook")
return "ok", 200
server.run()
Ответы (1 шт):
Автор решения: Alex Zab
→ Ссылка
Начнём с построения бота -
Что у Вас правильно -
import telebot
bot = telebot.TeleBot('token')
Все остальное неправильно -
Далее нужно создать хендлер -
@bot.message_handler(commands=['start']) #Отвечает на команду start в чате
И теперь создаём функцию с ответом
def start_command(message): #Обязательно (message)
bot.send_message(message.chat.id, "Привет WebHook") #Тут так же не забываем про message
return "ok", 200
И в конце нужно обязательно запустить бота!!
bot.polling(none_stop=True)
Вместе -
import telebot
bot = telebot.TeleBot('token')
@bot.message_handler(commands=['start'])
def start_command(message):
bot.send_message(message.chat.id, "Привет WebHook")
return "ok", 200
bot.polling(none_stop=True)
Теперь можете добавлять вебхуки