首页 > 解决方案 > 如何设置权限?

问题描述

我需要设置用户权限,我试过了

chanel2.overwritePermissions(message.member,{'SEND_MESSAGES': true,'READ_MESSAGES': true})

但它覆盖了所有权限(对于每个人,不仅仅是 message.member),不仅仅是为 message.member 添加特定权限(但对于 1 个成员,它可以满足我的需要)

标签: discorddiscord.js

解决方案


最好参考本指南以获取有关在频道中设置用户权限所需了解的所有信息。看起来它正在出错,因为message.member没有获取要在 overwritePermissions 中设置的用户 ID。我会在这里解释这一切,但下次尝试在您的问题和代码中添加一些错误信息和上下文:)

你需要确保你有一个通道对象,所以你可以像这样抓取它:

const channelID = message.channel.id //alternatively you can hardcode one like so: "588868740980932620"
const channel = message.guild.channels.find(c => {return c.id === channelID})

获取频道对象后,您现在可以像这样设置频道权限:

// channel is whatever your constant variable is in the section above
// message.member.user.id is identical to message.author.id
channel.overwritePermissions(message.member.user.id, {
 SEND_MESSAGES: true,
 READ_MESSAGES: true,
 ATTACH_FILES: true
});

您可以在此处找到权限标志。

希望这对您有所帮助。DiscordJS 指南Discord JS 文档是寻求帮助的非常有用的领域。


推荐阅读