首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果用户同时发送多张照片,如何让机器人响应一次?

如果用户同时发送多张照片,如何让机器人响应一次?
EN

Stack Overflow用户
提问于 2019-07-02 16:45:25
回答 2查看 155关注 0票数 0

我正在用nodejs开发一个Telegram机器人。我创建了node-telegram- bot -api的一个实例,并使用(‘photo’)上的方法来管理用户是否向我的机器人发送照片。

问题是,当用户通过从图库中选择多张照片来发送多张照片时,因为我的机器人响应的次数与照片发送的次数一样多。我认为这是因为机器人执行on(' photo ')方法的次数与照片发送的次数一样多。

代码语言:javascript
复制
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 

我希望机器人只响应一次。

你有什么意见建议?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-02 16:53:28

代码语言:javascript
复制
// Init value to check is sent
var responded = False;

bot.on('photo', function (msg) {
    var fileId = msg.photo[2].file_id;
    bot.downloadFile(fileId, folder);
    // If still false, send it!
    if (!responded) {
      bot.sendMessage(chatId, "I got the photo", keyboard);
      // Message is sent, put responded on true
      responded = True
    }
    else {
        bot.sendMessage(chatId, "Do you want to go to the next step of the procedure?", keyboard);
        }
 }

票数 0
EN

Stack Overflow用户

发布于 2019-07-02 16:48:30

您可以查看第二次回复是否为照片。您可以询问用户是否要使用最新的照片或旧的照片

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56848591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档