Discord.js v12 如何获取对特定消息做出反应的人的 id?
Posted
技术标签:
【中文标题】Discord.js v12 如何获取对特定消息做出反应的人的 id?【英文标题】:Discord.js v12 How to get the id of a person who reacted on a specific message? 【发布时间】:2020-12-10 06:38:19 【问题描述】:我现在正在制作自己的票务机器人!所以首先机器人发送了一个嵌入,如果你想创建一张票,你可以在其中做出反应(当你做出反应时,机器人将在特定类别中创建一个新频道)。我更改了这个类别的权限,所以@everyone 看不到那个频道。
我的问题是如何更改权限,以便做出反应的用户可以写和查看他的票务频道。
我的代码是:
client.on('messageReactionAdd', async (reactionReaction, user) =>
const message = reactionReaction.message;
const verifyChannel = message.guild.channels.cache.get('724929149755719751');
const member = message.guild.members.cache.get(user.id);
const guild = message.guild;
if (member.user.bot) return;
if (reactionReaction.emoji.name === '????' && message.channel.id === verifyChannel.id)
guild.channels.create('Factions', type: 'text', parent: '724929049612386375' );
await reactionReaction.users.remove(member).catch(console.error);
);
感谢您的帮助!
【问题讨论】:
【参考方案1】:您可以使用GuildChannel.create(name, options)
method 中的options.permissionOverwrites[]
client.on("messageReactionAdd", async (reactionReaction, user) =>
const message = reactionReaction.message;
const verifyChannel = message.guild.channels.cache.get("724929149755719751");
const member = message.guild.members.cache.get(user.id);
const guild = message.guild;
if (member.user.bot) return;
if (
reactionReaction.emoji.name === "?" &&
message.channel.id === verifyChannel.id
)
guild.channels.create("Factions",
type: "text",
parent: "724929049612386375",
permissionOverwrites: [
id: user.id,
allow: ["VIEW_CHANNEL", "SEND_MESSAGES"],
,
],
);
await reactionReaction.users.remove(member).catch(console.error);
);
【讨论】:
以上是关于Discord.js v12 如何获取对特定消息做出反应的人的 id?的主要内容,如果未能解决你的问题,请参考以下文章
如何检查用户是不是具有特定角色 discord.js v12? [复制]
Discord js v12 如果有人对嵌入做出反应,则发送消息