python - 如何让电报机器人等待回复?
问题描述
我编写了一个电报机器人,用输入的消息检查字典键,如果消息匹配/不匹配字典值,机器人输出消息“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)
解决方案
不明白你的问题
您可以完全控制机器人的工作方式;
您只需要设置 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 侦听传入请求,您可以编写代码以执行所需的操作
希望这可以帮助
干杯
推荐阅读
- javascript - 如何显示有关堆叠上下文的 div 顶部
- wix - 使用定制的 Wix ProgressDlg 不会触发安装顺序
- spring - 使用 @Value 将属性绑定到 Grails 中的闭包
- python - 如何处理自定义类中具有默认值的关键字标志?
- ruby - random_case(random_name) - 为什么检索随机数据的方法不起作用?
- image - 修改 LatestBlogPosts Umbraco 8
- javascript - 创建事件后无法在组件数据中构建数组
- multithreading - 在 Kotlin 中具有构造函数参数的单例
- php - 将 php 对象反序列化为数组
- html - 调整宽度以使用弹性框填充可用空间