Javascript 有没有办法让消息收集器在Discord.js中收集DMs?

Javascript 有没有办法让消息收集器在Discord.js中收集DMs?,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我正在尝试收集用户对我的机器人消息的回复,但都在DMs中。如何使用Discord.js(12.0.0-dev)的主分支完成此任务 我试图用下面的代码片段收集消息 const collector=newmessagecollector(message.author.DMChannel,m=>m.author.id==message.author.id,{max:1,time:120000}); const collector=message.author.dmChannel.createMess

我正在尝试收集用户对我的机器人消息的回复,但都在DMs中。如何使用Discord.js(12.0.0-dev)的主分支完成此任务

我试图用下面的代码片段收集消息

const collector=newmessagecollector(message.author.DMChannel,m=>m.author.id==message.author.id,{max:1,time:120000});
const collector=message.author.dmChannel.createMessageCollector({max:1,time:120000})

这似乎是我需要的,但我只希望它返回用户发送的第一条消息。当I
console.log()
结果时,它总是未定义的。

在DM频道内,您可以使用
频道中的
频道.createMessageCollector()
创建收集器

client.on('message', message => {
  if (message.content == `!collect`) {
    // Create a message collector
    const filter = m => (m.content.includes('discord') && m.author.id != client.user.id);
    const channel = message.channel;
    const collector = channel.createMessageCollector(filter, { time: 10000 });
    console.log("collector started");
    collector.on('collect', m => console.log(`Collected ${m.content}`));
    collector.on('end', collected => console.log(`Collected ${collected.size} items`));
  }
});

您可以轻松地收集用户对bot消息的回复

使用DM频道, 使用

channel.createMessageCollector()

您的代码应与给定的块匹配:

client.on('xyz', message => {
  if (message.content == `!collect`) {
    const filter = m => (m.content.includes('media') && m.author.id != 
    client.user.id);
    const channel_xyz = message.channel;
    const collector = channel.createMessageCollector(filter, { time: 10000 });
    console.log("collector started");
    collector.on('collected', m => console.log(`Collected ${m.content}`));
    collector.on('end', collected => console.log(`Collected ${collected.size} 
items`));
  }
 });
client.on('xyz', message => {
  if (message.content == `!collect`) {
    const filter = m => (m.content.includes('media') && m.author.id != 
    client.user.id);
    const channel_xyz = message.channel;
    const collector = channel.createMessageCollector(filter, { time: 10000 });
    console.log("collector started");
    collector.on('collected', m => console.log(`Collected ${m.content}`));
    collector.on('end', collected => console.log(`Collected ${collected.size} 
items`));
  }
 });