Discord.js 斜线命令说缺少访问权限,即使我有“使用斜线命令”范围

Posted

技术标签:

【中文标题】Discord.js 斜线命令说缺少访问权限,即使我有“使用斜线命令”范围【英文标题】:Discord.js Slash Commands saying missing access even though I have "Use slash commands" scope on 【发布时间】:2021-08-28 14:49:01 【问题描述】:

我一直在尝试制作一个使用斜杠命令的机器人,代码如下所示:

const Discord = require("discord.js")
const token = require("./config.json")

const client = new Discord.Client()
const guildId = "798268649613033532"

const getApp = (guildId) => 
    const app = client.api.applications(client.user.id)
    if (guildId) 
        app.guilds(guildId)
    
    return app


client.once("ready", async () => 
    console.log("Ready!")

    try 
        const commands = getApp(guildId).commands.get()
        console.log(commands)
        
     catch(err) 
        console.error(err)
    
)

client.login(token)

但在控制台中显示:“Promise (node:1848) UnhandledPromiseRejectionWarning: DiscordAPIError: Missing Access"

我知道我有使用斜杠命令的权限/范围

【问题讨论】:

【参考方案1】:

确保在您邀请机器人时,范围已打开。此外,使用斜杠命令是一种权限,而不是范围。复制链接时,您至少需要选中这两个框。

【讨论】:

你回答了我的问题,但现在它告诉我 Promise 这是什么意思? 你在控制台记录什么? 哪个错误?我想知道它是什么变量 等一下,我认为 post commands 是一个 Promise,控制台记录它,放置 await,与 get 相同,尝试告诉我会发生什么

以上是关于Discord.js 斜线命令说缺少访问权限,即使我有“使用斜线命令”范围的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 斜线命令权限系统不起作用

Discord.js 无法为斜线命令添加选项

斜线命令未在控制台中列出 (discord.js)

DiscordAPIError:createOverwrite 上缺少访问权限

Discord.js V13 使用斜线命令时添加角色

.send() 上的 discord.js 缺少权限错误