有人可以向我解释为什么当我试图从反应中获得角色时出现此错误: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);
答案 0 :(得分:0)
MessageReaction.users
返回ReactionUserManager
,而不是Collection
。确保使用cache
属性。
const user = reaction.users.cache.last();