Javascript discord.js我一直得到机器人所说的,而不是用户';s信息

Javascript discord.js我一直得到机器人所说的,而不是用户';s信息,javascript,discord,discord.js,Javascript,Discord,Discord.js,我在机器人的DMs中不断得到:“你的建议是什么”,而不是用户给出的问题的答案 else if(msg.content=='suggest') { msg.delete(); msg.reply('你的建议是什么?'); 消息(m=>m.author.id==msg.author.id, {max:1,time:30000})。然后(收集=>{ var-answer=msg.content; get('349463140229971989').send(answer.toLowerCase())

我在机器人的DMs中不断得到:“你的建议是什么”,而不是用户给出的问题的答案

else if(msg.content=='suggest')
{
msg.delete();
msg.reply('你的建议是什么?');
消息(m=>m.author.id==msg.author.id,
{max:1,time:30000})。然后(收集=>{
var-answer=msg.content;
get('349463140229971989').send(answer.toLowerCase());
})
//bot.users.get('349463140229971989').send(msg.content);

}
错误在于您没有获取收集的消息内容,而是在此处获取命令msg:

var-answer=msg.content;
将其更改为:

var answer=collection.first().content;
但是如果用户不发送消息呢?您可能希望发送一条消息,说明时间已到,为此,您需要将时间添加为错误之一,并添加一条catch语句:

else if(msg.content=='suggest'){
msg.delete();
msg.reply('你的建议是什么?');
const filter=m=>m.author.id==msg.author.id;
const options={max:1,时间:30000,错误:[“time”]};
msg.channel.waitingmessages(过滤器、选项)
。然后(收集=>{
const answer=collected.first().content;
get('349463140229971989').send(answer.toLowerCase());
msg.回复(“建议转发”);
})
.catch(err=>msg.reply(“建议取消”);
}

我尝试了这个方法,效果很好,但我只是在一周前改变了这个方法,将消息切成薄片并使用它。