Discord JS反应错误

时间:2020-09-22 16:18:32

标签: javascript node.js discord discord.js

有人可以向我解释为什么当我试图从反应中获得角色时出现此错误:UnhandledPromiseRejectionWarning:TypeError:reaction.users.last不是一个函数吗?谢谢,我也附上了代码。

代码:

const Discord = require('discord.js');
const client = new Discord.Client();
const config = require('./config.json');

client.on('ready', () => {
 console.log('Ready!');
});

client.on('message', async (message) => {
 if (message.content === 'l!verify') {
  const reactmessage = await message.channel.send(
   'Am intrebat 100 de Romani, vrei rolul de GUEST?'
  );
  await reactmessage.react('?');

  const filter = (reaction, user) => reaction.emoji.name === '?' && !user.bot;
  const collector = reactmessage.createReactionCollector(filter, {
   time: 15000,
  });
  collector.on('collect', async (reaction) => {
   const user = reaction.users.last();
   const guild = reaction.message.guild;
   const member = guild.member(user) || (await guild.fetchMember(user));
   member.addRole(config.roleid);
  });
 }
});
client.login(config.token);

1 个答案:

答案 0 :(得分:0)

MessageReaction.users返回ReactionUserManager,而不是Collection。确保使用cache属性。

const user = reaction.users.cache.last();