javascript - 如果用户同时发送多张照片,如何让机器人响应一次?
问题描述
我正在 nodejs 中开发一个 Telegram 机器人。我创建了一个 node-telegram-bot-api 实例,并使用 on('photo') 方法来管理用户是否向我的机器人发送照片。
问题是当用户通过从图库中多选照片来发送多张照片时,因为我的机器人响应的次数与发送的照片一样多。我认为这是因为机器人执行 on('photo') 方法的次数与发送的照片一样多。
bot.on('photo', function (msg) {
var fileId = msg.photo[2].file_id;
bot.downloadFile(fileId, folder);
bot.sendMessage(chatId, "I got the photo", keyboard);
bot.sendMessage(chatId, "Do you want to go to the next step of the procedure?", keyboard);
//I would like that the bot sends the last message only once
我希望机器人只响应一次。
你有什么建议吗?
解决方案
您可以第二次检查响应是否是照片。您可以询问用户是否要使用最新照片或旧照片
推荐阅读
- vaadin - Vaadin LoginForm 组件显示为空
- android - 作业帮助 - 传递意图的多个活动
- python - 无法打开资源文件,pygame 错误:“FileNotFoundError:没有这样的文件或目录。”
- excel - excel中的双ISBLANK语句?
- python - 在python中递归地为列表的左侧分配标签“left”和标签“right”
- python - 绘制前 10 个比例,但出现错误
- jquery - 使用 $.ajax 的 CORS 策略阻止 XMLHttpRequest
- python-3.x - 试图找到一种有效的方法来在熊猫中使用引用前一行的while循环
- javascript - 根据输入值增量更改按钮颜色
- laravel - 您可以从 Auth Logout 事件中获取用户 ID 吗?