discord.js - 是否有另一种创建角色的方法,而不是手动获取公会 ID 来创建角色?
问题描述
我想知道是否有人可以帮助我使用 discord.js v12 中的命令来扮演角色。通过使用以下命令,我已经能够扮演我想要的角色:
module.exports = {
name: 'croles',
description: 'creates a role',
execute(client, message, args, Discord) {
const guildId = ('guild's ID goes in here');
const roleName = args.join(" ");
const guild = client.guilds.cache.get(guildId);
if(message.member.roles.cache.find(r => r.name === "mod")){
guild.roles.create({
data: {
name: roleName ,
color: '#FFFF00',
},
reason: 'create a role',
})
.catch(console.error);
message.channel.send( '`'+ roleName + '`' + ' ' +'role have been created.');
} else {
message.channel.send('u do not have admin roles.');
}
}
}
通过这段代码,我目前正在手动获取服务器的 id 并将其放入“guildId”中,以便我可以创建角色。目前此方法有效,但添加公会 ID 需要时间。我知道我可以使用“或”功能,但我目前正在一台服务器上进行测试。
解决方案
您可以通过消息变量获取公会。
message.guild
,它将返回消息发送到的公会,然后您可以通过附加.id
到它来获取它的ID。
例子:
execute(client, message, args) {
return message.reply("The Guild ID is: " + message.guild.id);
}
另一件事,从您的执行中删除“Discord”变量,只需在您需要的文件中重新要求它。
推荐阅读
- c# - 在 c# 中循环遍历所有可能的 ipv4 地址
- go - 选择和上下文。上下文完成通道
- node.js - 在一台机器上运行许多低流量的 webapp,以便 webapp 仅在需要时启动?
- javascript - 在Javascript外部单击时如何关闭模式
- python - 通过多个页面进行网页抓取不会保存每个结果 -beautifulsoup
- ruby-on-rails - Rails Form不呈现json响应
- reactjs - 如何获得信用卡组件的 reactstrap 下拉值?
- python - 如何使用interact_manual python返回值
- python - Binance api 期货错误:{"code":-2015,"msg":"Invalid API-key} using private_post_order_oco(但 ID 适用于其他所有内容)
- asp.net - ASP.NET Core 5:使用通用 URL 登录页面和根页面的最佳方式