【发布时间】:2022-01-07 00:50:18
【问题描述】:
这似乎是一些错误,或者我不知道,但我确信这是可以修复的。我所有的斜杠命令都是重复的,首先是最新版本的命令,其次是一些过时的命令。
我假设它与斜杠命令注册有关,所以这里是:
const guild = await client.guilds.cache
.get("836212492769165363")
guild.commands.set(arrayOfSlashCommands).then((cmd) => {
const getRoles = (commandName) => {
const permissions = arrayOfSlashCommands.find(x => x.name === commandName).userPermissions;
if(!permissions) return null;
return guild.roles.cache.filter(x => x.permissions.has(permissions) && !x.managed)
}
const fullPermissions = cmd.reduce((accumulator, x) => {
const roles = getRoles(x.name);
if(!roles) return accumulator;
const permissions = roles.reduce((a, v) => {
return [
...a,
{
id: v.id,
type: 'ROLE',
permission: true,
},
]
}, [])
return [
...accumulator,
{
id: x.id,
permissions,
}
]
}, [])
guild.commands.permissions.set({ fullPermissions }).catch((e) => console.log(e))
})
【问题讨论】:
标签: javascript node.js discord discord.js bots