Javascript 有没有办法让消息收集器在Discord.js中收集DMs?
我正在尝试收集用户对我的机器人消息的回复,但都在DMs中。如何使用Discord.js(12.0.0-dev)的主分支完成此任务 我试图用下面的代码片段收集消息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
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`));
}
});