如何修复 DiscordAPIError[50001] OAuth2 问题?

Posted

技术标签:

【中文标题】如何修复 DiscordAPIError[50001] OAuth2 问题?【英文标题】:how to fix DiscordAPIError[50001] OAuth2 problem? 【发布时间】:2022-01-04 08:51:27 【问题描述】:

在这种情况下我的问题不是代码,因为我使用的是最新版本的 discord.js 文档 (v13.3.1) 中的直接代码。我读到我需要在 Discord Developers 门户机器人面板的 OAuth2 设置中检查范围“applications.commands”。

在 OAuth2 > 常规 > 默认授权链接

在授权方法中,我选择了“应用内授权”并检查了“bot”和“applications.commands”范围,因为我正在学习 bot 的权限是“管理员”

在 OAuth2 > GenerateUrl

在此部分中,为了制作邀请链接,我只选择了“Bot”范围,因为当我尝试选择“applications.commands”范围时,Discord 会询问我重定向 URL,在我的情况下,我没有网站,现在我不想创建它,我不确定这是否真的有必要,在这种情况下,我不知道是否有其他方法可以注册 Slash 命令,无论如何,如果有人需要看代码,就是这样:

const  clientId, guildId, token  = require('./config.json');
const  REST  = require('@discordjs/rest');
const  Routes  = require('discord-api-types/v9');

const commands = [
    name: 'ping',
    description: 'Replies with Pong!'
];

const rest = new REST( version: '9' ).setToken(token);

(async () => 
    try 
        console.log('Started refreshing application (/) commands.');

        await rest.put(
            Routes.applicationGuildCommands(clientId, guildId),
             body: commands ,
        );

        console.log('Successfully reloaded application (/) commands.');
     catch (error) 
        console.error(error);
    
)();

希望有人能帮帮我,非常感谢。

【问题讨论】:

【参考方案1】:

你所做的一切似乎都是正确的;您不需要重定向 URL。只需按照以下步骤操作:

转到Discord Developer Portal 并找到您的应用程序

转到OAuth2 > URL Generator

选择botapplications.commands 范围(一定要选择后者,这样您就可以注册斜杠命令)

在通用权限中选择Administrator

滚动到页面的最底部,会出现一个Generated URL框;复制该链接并将其粘贴到网络浏览器中以邀请您的机器人

如果您只是制作一个简单的斜杠命令机器人,请使用None 作为授权方法。

【讨论】:

以上是关于如何修复 DiscordAPIError[50001] OAuth2 问题?的主要内容,如果未能解决你的问题,请参考以下文章

如何隐藏 DiscordAPIError (discord.js) (node.js)

DiscordAPIError:createOverwrite 上缺少访问权限

DiscordAPIError:无效的表单正文 - Discord 斜杠命令

DiscordAPIError:缺少权限

DiscordAPIError:无效的表单正文

DiscordAPIError:无法使用 Discord 嵌入发送空消息