新的 Discord 斜线命令

Shr*_*007 21 javascript discord discord.js

最近,discord 为您自己的应用程序添加了对斜杠命令的支持。我通读了它的文档,并尝试搜索了一些视频(但是该功能刚刚发布),但我不明白我实际上需要做什么才能使其正常工作。我正在使用 WebStorm(js、node.js)。有没有人成功制作过斜线命令,如果有,如何制作?

文档

Dwz*_*wza 26

你可以使用常规的discord.js,现在它的v12.5.1.

这只是一个示例,但对我有用。

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
    client.api.applications(client.user.id).guilds(YOUR_GUILD_ID_HERE).commands.post({
        data: {
            name: "hello",
            description: "hello world command"
            // possible options here e.g. options: [{...}]
        }
    });


    client.ws.on('INTERACTION_CREATE', async interaction => {
        const command = interaction.data.name.toLowerCase();
        const args = interaction.data.options;

        if (command === 'hello'){ 
            // here you could do anything. in this sample
            // i reply with an api interaction
            client.api.interactions(interaction.id, interaction.token).callback.post({
                data: {
                    type: 4,
                    data: {
                        content: "hello world!!!"
                    }
                }
            })
        }
    });
});

client.login(token);
Run Code Online (Sandbox Code Playgroud)

当然,您可以有选择,请参阅文档...

IDE 不会注册新代码...至少我的 php 风暴目前没有 :)

但是,赋予机器人使用此类命令的正确权限很重要!

所以去Discord.com/developers,选择你的应用程序,去OAuth2并选择

应用程序命令

从范围部分。这应该在中间列的底部。您也应该选择bot并在Bot Permissions您设置一些其他特定权限下。然后使用新的邀请链接重新邀请机器人。

如果没有application.commands权限,该命令将无法正常工作,您将收到像一些错误Missing Access或一些类似。

重要的事

  1. 使用.guilds('11231...').comma测试这些命令。不使用时,大约需要 1 小时才能激活。使用它会立即激活它。

  2. 给机器人正确的权限。 application.commands