node.js - 提供的参数既不是用户也不是角色。DiscordJS v12
问题描述
我正在尝试创建一个突变角色,我不能限制消息和反应。
(节点:7044)UnhandledPromiseRejectionWarning:TypeError [INVALID_TYPE]:提供的参数不是用户也不是角色。
const muteRole = message.guild.roles.create({
data: {
name: 'test - Muted',
color: '#F3FF00',
},
});
message.guild.channels.cache.forEach(async (channel)=> {
await channel.overwritePermissions([
{
SEND_MESSAGES: false,
ADD_REACTIONS: false,
},
]);
});
解决方案
我相信你实际上在寻找Channel.updateOverwrite()
. 无论哪种方式,您都会收到此错误,因为这两个函数都需要角色或用户 ID(否则,他们将如何知道要更改谁的权限)。
// create the role
message.guild.roles.create({
data: {
name: 'test - Muted',
color: '#F3FF00',
},
}).then((role) => {
message.guild.channels.each((channel) => { // iterate through all channels
channel.updatePermissions(role, { // identify the role to update
{
SEND_MESSAGES: false, // set the overwrites
ADD_REACTIONS: false,
},
);
});
});
推荐阅读
- reactjs - React 功能组件正确使用 Props
- git - 在 copy-webpack-plugin 之后不能在模块外使用 import 语句
- javascript - 如何在 ThreeJS 中为每个点赋予自己的颜色
- python - 写为 f 字符串的正则表达式模式返回与原始字符串不同的结果
- flutter - 从共享首选项中的函数保存本地字符串并在其他页面中使用它
- mysql - 如何从 SQL 中的特定日期获取总透支金额
- python - 自定义 Docker 映像在另一台机器上失败(psycopg2.OperationalError: could not translate host name to address)
- node.js - 如何在 Loopback 4 和 mongoDB 中实现嵌套数组结果及其填充的详细信息
- excel - 无法锻炼 href 类 - 标记
- python - 如何在 plotly 的单个页面中添加两个堆叠区域图?