【发布时间】:2020-08-10 03:25:30
【问题描述】:
我目前正在开发 Discord 机器人,但遇到了需要限制反应的问题。我正在努力实现以下目标 - 如果用户选择反应,则应将其替换为最新反应。有人可以建议如何做吗?
这是我的screenshot 和我目前拥有的代码。
我的代码:
client.on('raw', event => {
console.log(event);
const eventName = event.t;
if(eventName === 'MESSAGE_REACTION_ADD') {
if(event.d.message_id === '70цw3748527414706191') {
var reactionChannel = client.channels.get(event.d.channel_id);
if(reactionChannel.messages.has(event.d.message_id))
return;
else {
reactionChannel.fetchMessage(event.d.message_id)
.then(msg => {
var msgReaction = msg.reactions.get(event.d.emoji.name + ":" + event.d.emoji.id);
var user = client.users.get(event.d.user_id);
client.emit('messageReactionAdd', msgReation, user);
})
.catch(err => console.log(err));
}
}
}
else if(eventName === 'MESSAGE_REACTION_ADD') {
if(event.d.message_id === '703748527414706191') {
var reactionChannel = client.channels.get(event.d.channel_id);
if(reactionChannel.messages.has(event.d.message_id))
return;
else {
reactionChannel.fetchMessage(event.d.message_id)
.then(msg => {
var msgReaction = msg.reactions.get(event.d.emoji.name + ":" + event.d.emoji.id);
var user = client.users.get(event.d.user_id);
client.emit('messageReactionRemove', msgReation, user);
})
.catch(err => console.log(err));
}
}
}
});
client.on('messageReactionAdd', (messageReaction, user) => {
var roleName = messageReaction.emoji.name;
console.log(roleName);
var role = messageReaction.message.guild.roles.find(role => role.name.toLowerCase() ===
roleName.toLowerCase());
if(role) {
var member = messageReaction.message.guild.members.find(member => member.id === user.id);
if(member) {
member.addRole(role.id);
console.log("Success");
}
}
});
client.on('messageReactionRemove', (messageReaction, user) => {
var roleName = messageReaction.emoji.name;
var role = messageReaction.message.guild.roles.find(role => role.name.toLowerCase() ===
roleName.toLowerCase());
if(role) {
var member = messageReaction.message.guild.members.find(member => member.id === user.id);
if(member) {
member.removeRole(role.id);
console.log("Success");
}
}
});
感谢您的指导!
【问题讨论】:
标签: node.js discord discord.js