@VasHan

Как получить сообщения от телеграм бота с webhook?

Добрый день!

Переношу боты на webhook, для проверки webhook взят пример из модуля pytelegramBotAPI c применением flask. Сообщения из телеграм получаю на webhook, но не получается обрабатывать их, а именно, если я использую функцию из примера:
@app.route(WEBHOOK_URL_PATH, methods=['POST'])
def webhook():
    if flask.request.headers.get('content-type') == 'application/json':
        json_string = flask.request.get_data().decode('utf-8')
        update = telebot.types.Update.de_json(json_string)
        bot.process_new_updates([update])
        return ''
    else:
        flask.abort(403)

# Handle '/start' and '/help'
@bot.message_handler(commands=['help', 'start'])
def send_welcome(message):
    bot.reply_to(message,
                 ("Hi there, I am EchoBot.\n"
                  "I am here to echo your kind words back to you."))

То в после запуска и отправки сообщения боту, ничего не происходит.
Но если я меняю функцию :
@app.route(WEBHOOK_URL_PATH, methods=['POST'])
def webhook():
    update = flask.request.get_json()
    print(update)
    if 'message' in update:
        text = update['message']['text']
        chat_id = update['message']['chat']['id']
        bot.send_message(chat_id, 'you said "{}"'.format(text))
    return "ok", 200

После отправки сообщения боту, я получаю его на выходе и ответ в телеграм. Подскажите, пожалуйста, почему не работает пример из самого модуля?
  • Вопрос задан
  • 241 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы