javascript - 如何在 discord.js 中为公会创建角色?
问题描述
我试着这样做
const discord = require("discord.js")
const Event = require("../Structures/Events")
module.exports = new Event("guildCreate", (message, client) =>{
Discord.guild.roles.edit(guild.id, {
hoist: false,
mentionable: false,
permissions: []
})
Discord.guild.roles.create({ ALL THE ROLE DATA })
})
但是得到了这个错误:
Discord.guild.roles.create({ ^
TypeError:无法读取未定义的属性“角色”
我在这里做错了什么?
这是我的事件处理程序
const Discord = require("discord.js")
const Client = require ("./Client.js")
/**
*
* @param {Client} client
* @param {Discord.ClientEvents[K]} eventArgs
*/
function runFunction(client, ...eventArgs){}
/**
* @template {key of Discord.ClientEvents} K
*/
class Event {
/**
*
* @param {K} event
* @param {runFunction<K>} runFunction
*/
constructor(event, runFunction){
this.event = event
this.run = runFunction
}
}
module.exports = Event
解决方案
以下是基于Discord.JS 文档的代码外观
使用客户的事件监听器作为标准。guildCreate
不会发出消息或客户端,而是新公会本身(如预期的那样)
client.on("guildCreate", guild => {
guild.roles.edit(guild.id, {
hoist: false,
mentionable: false,
permissions: []
});
guild.roles.create(...);
});
推荐阅读
- c++ - 约束参数(位集大小)的模板参数推导失败
- angularjs - Angularjs 不会在每个循环中显示“null”
- javascript - 如何计算所选单元格的数量?
- python-3.x - 更新数量和更新购物车 Django
- continuous-integration - 使用 `yarn outdated` 自动更新 CI/CD 中过时的依赖项
- r - 将数据框与列表进行比较并提取 R 中的匹配行
- python - Plotly in Python:显示所选数据的均值和方差
- javascript - 向动态创建的元素添加值,然后在单击该元素时将该值传递给另一个 html 页面
- elasticsearch - 如何在elasticsearch中搜索字段数组
- flutter - cubit 发射后 BlocBuilder 不更新