javascript - Discord.JS 角色创建事件

标签 javascript node.js discord discord.js

client.on("roleCreate", role => {
  const channel = role.guild.channels.cache.find(ch => ch.name === "welcome");
  const embed = new Discord.MessageEmbed()
    .setColor("DEFAULT")
    .setDescription(`A new role has been created\nPermissions List: ${role.permissions}`)
    channel.send(embed)
});

我正在尝试 Discord.JS 文档中的不同事件,但是,当我遇到 roleCreate 事件时,我尝试了它,当我创建一个新 Angular 色时,它起作用了。但是对于role.permissions;我不太清楚为什么我会得到 [object Object]。我怎么可能解决这个问题?

Discord.JS:v12.2.0

最佳答案

那是因为 role.permissions 是一个对象:

https://discord.js.org/#/docs/main/stable/class/Permissions

使用.toArray()方法结合join():

client.on("roleCreate", role => {
  const channel = role.guild.channels.cache.find(ch => ch.name === "welcome");
  const perms = role.permissions.toArray().join("\n");
  const embed = new Discord.MessageEmbed()
    .setColor("DEFAULT")
    .setDescription(`A new role has been created\nPermissions List:\n${perms}`)
    channel.send(embed)
});

将其从 CREATE_INSTANT_INVITE 获取到 Create Instant Invite

const perms = role.permissions.toArray().map(e => {
   const words = e.split("_").map(x => x[0] + x.slice(1).toLowerCase());
   return words.join(" ");
}).join("\n");

关于javascript - Discord.JS 角色创建事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62745205/

相关文章:

javascript - 了解回调 : no argument was passed

node.js - 简单地将许多消息发布到 Rabbitmq

node.js - 任务似乎已注册但无法运行?

javascript - async.series 和 javascript 变量

python - Discord.py 如何从 DM channel 获取日志

wordpress - 如何从 Discord 的预览中删除作者标签?

javascript - 如何查看新人来自哪个邀请链接?

javascript - 我将如何通过 javascript 更改整个 <li>

javascript - mootools 的负边距

javascript - MathML 未呈现并显示在文本区域下方