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

Javascript 如果用户同时发送多张照片,如何使机器人响应一次?,javascript,node.js,npm,telegram-bot,node-telegram-bot-api,Javascript,Node.js,Npm,Telegram Bot,Node Telegram Bot Api,我正在nodejs开发一个电报机器人。我创建了一个节点电报bot api实例,并使用('photo')上的方法来管理用户是否向我的bot发送照片 问题在于,当用户通过从库中多选照片将多张照片发送到一起时,因为我的机器人的响应次数与发送的照片相同。我认为这是因为bot执行on('photo')方法的次数与发送照片的次数相同 bot.on('photo', function (msg) { var fileId = msg.photo[2].file_id; bot.download

我正在nodejs开发一个电报机器人。我创建了一个节点电报bot api实例,并使用('photo')上的方法来管理用户是否向我的bot发送照片

问题在于,当用户通过从库中多选照片将多张照片发送到一起时,因为我的机器人的响应次数与发送的照片相同。我认为这是因为bot执行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 
我希望机器人只响应一次


您有什么建议吗?

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

您可以再次检查响应是否为照片。 您可以询问用户是要使用最新照片还是旧照片
//要检查的初始值已发送
var=False;
bot.on('photo',函数(msg){
var fileId=msg.photo[2]。文件id;
下载文件(文件ID,文件夹);
//如果仍然是假的,发送它!
如果(!响应){
sendMessage(chatId,“我得到了照片”,键盘);
//消息已发送,将响应设置为true
回答=正确
}
否则{
bot.sendMessage(chatId,“是否要转到过程的下一步?”,键盘);
}
}
//要检查的初始值已发送
var=False;
bot.on('photo',函数(msg){
var fileId=msg.photo[2]。文件id;
下载文件(文件ID,文件夹);
//如果仍然是假的,发送它!
如果(!响应){
sendMessage(chatId,“我得到了照片”,键盘);
//消息已发送,将响应设置为true
回答=正确
}
否则{
bot.sendMessage(chatId,“是否要转到过程的下一步?”,键盘);
}

}
谢谢,但实际上,用户可以发送多张照片。真正的问题是,如果用户发送,例如,两张照片,我的机器人会响应两次。我不知道如何检查照片是第一张还是第二张。谢谢,但实际上,用户可以发送多张照片。真正的问题是,如果用户发送,例如,two照片,我的机器人响应两次。我不知道如何检查照片是第一张还是第二张。