【发布时间】:2021-11-15 00:32:35
【问题描述】:
我在尝试创建角色和文本频道时遇到了问题。创建的角色将为文本通道设置权限。
if (id === '4') {
message.guild.roles.create({
name: `Owner`,
color: `${color.white}`,
permissions: ['ADD_REACTIONS'],
hoist: true,
});
let owner = message.guild.roles.cache.find((role) => role.name === 'Owner');
name = `${names.name}`,
message.guild.channels
.create(name, {
type: 'GUILD_TEXT',
permissionOverwrites: [
{
id: owner,
allow: ['ADD_REACTIONS'],
deny: ['VIEW_CHANNEL'],
},
],
})
.catch((err) => console.log(err));
}
虽然创建了角色,但是到了文本通道,却找不到制作的角色,报错:
TypeError [INVALID_TYPE]: Supplied parameter is not a User nor a Role.
我不确定如何解决这个问题。
【问题讨论】:
-
似乎
owner是undefined。尝试记录owner -
@MrMythical 是的,它未定义。
-
确保角色存在。还要确保它被缓存,运行
message.guild.roles.fetch() -
从我从一些测试中看到的是,当“所有者”角色已经添加到服务器时,它可以正常工作。但它没有“所有者”角色,它将返回未定义并且不会创建文本通道。
标签: javascript discord.js