Как заставить телеграмма бота ждать ответа? - PullRequest
0 голосов
/ 14 марта 2020

Я пишу бот телеграммы, который проверяет ключ словаря с введенным сообщением, и если сообщение соответствует / не соответствует значению словаря, бот выводит сообщение "true" / "not true" и переходит к следующему ключ. Но когда я go просматриваю словарь с для in l oop, бот не ожидает ответа, а отображает все ключи в словаре одновременно.

Как заставить бота ждать сообщения для каждого из ключей в словаре?

Мой код:

@bot.message_handler(commands=['help', 'start'])

def newfunc(message):
    for key in dict.keys():
        bot.reply_to(message, key)
    bot.register_next_step_handler(message, func)

def func(message):
    rightanswer = 0
    wronganswer = 0

    for value in dict.values():
        if (message.text == value):
            bot.send_message(message.chat.id, 'Yes')
            rightanswer += 1
        else:
            bot.send_message(message.chat.id, 'No')
            wronganswer += 1
    bot.send_message(message.chat.id,'Right answers: {} Wrong answers: {}'.format(rightanswer, wronganswer))


bot.polling(none_stop=True)

1 Ответ

0 голосов
/ 14 марта 2020

не понял вашего вопроса

вы можете полностью контролировать работу бота;

все, что вам нужно, это настроить Telegram Bot и написать функцию для выполнения желаемого действия;

читать это: https://core.telegram.org/bots/api#making -запросы

Telegram Bot API

The Bot API is an HTTP-based interface created for developers keen on building bots for Telegram.
To learn how to create and set up a bot, please consult our Introduction to Bots and Bot FAQ.

Иметь веб-приложение со следующим методом

function doPost(e) {

для прослушивания входящих запросов через бота вы можете написать свой код для выполнения желаемого действия

надеюсь, это поможет

ура

...