簡體   English   中英

Discord.JS 角色創建事件

[英]Discord.JS roleCreate event

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事件時,我嘗試了它,當我創建一個新角色時,它可以工作。 但是對於role.permissions ; 我不太清楚為什么會得到[object Object] 我怎么可能解決這個問題?

Discord.JS: v12.2.0

這是因為role.permissions是 object:

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");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM