首页 > 解决方案 > 如何让电报机器人等待回复?

问题描述

我编写了一个电报机器人,用输入的消息检查字典键,如果消息匹配/不匹配字典值,机器人输出消息“true”/“not true”,然后继续下一个键。但是当我使用for in循环浏览字典时,机器人不会期望响应,而是一次显示字典中的所有键。

如何让机器人等待字典中每个键的消息?

我的代码:

@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)

标签: pythonpython-3.xtelegram-botpython-telegram-bot

解决方案


不明白你的问题

您可以完全控制机器人的工作方式;

您只需要设置 Telegram Bot 并编写函数来执行所需的操作;

阅读: https ://core.telegram.org/bots/api#making-requests

电报机器人 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.

使用以下方法拥有一个 Web 应用程序

function doPost(e) {

要通过 Bot 侦听传入请求,您可以编写代码以执行所需的操作

希望这可以帮助

干杯


推荐阅读