📜  discord js 添加斜杠命令 - Javascript (1)

📅  最后修改于: 2023-12-03 14:40:44.548000             🧑  作者: Mango

Discord.js 添加斜杠命令

在 Discord.js 中,您可以使用 Slash Command 来实现更简单、更方便的命令交互方式。通过添加 Slash Command,您可以让您的机器人更加智能化,更容易被使用者操作。在本文中,我们将会分享如何在 Discord.js 中添加 Slash Command。

  1. 添加权限

在创建 Slash Command 之前,您需要为您的机器人添加权限。在 Discord 开发者门户中找到您的应用程序,然后转到 "Bot" 页面。在这里,您可以创建一个新的 Bot 并为其添加权限。权限包括 "applications.commands" 和 "bot"。

  1. 创建 Slash Command

接下来,您需要转到 "Applications" 页面并创建一个新的 Slash Command。在 "Interactions" 部分中,单击 "Slash Commands",然后单击 "+Create New"。

在创建 Slash Command 时,您需要提供名称、描述、选项和默认回复。例如,我们可以创建一个名为 "hello" 的命令,用于向任何人发送问候语。

在 Slash Command 中,您还可以添加选项以帮助解释它。在 "Options" 部分中,您可以为每个选项定义名称、描述、类型和是否必填。例如,在我们的 “hello” 命令中,我们可以添加一个选项来定义问候语目标人员。

  1. 处理 Slash Command

创建完 Slash Command 后,您需要处理用户发出的命令。在 Discord.js 中,您可以使用 "interactionCreate" 事件来检测用户的命令。在这个事件中,您可以检测命令类型、命令名和传递的参数。

例如,在我们的 "hello" 命令中,我们可以使用以下代码来处理 Slash Command:

client.on('interactionCreate', async interaction => {
  if (!interaction.isCommand()) return;

  if (interaction.commandName === 'hello') {
    const target = interaction.options.getMember('target') || interaction.user;
    const response = `Hello ${target}!`;

    await interaction.reply(response);
  }
});

这个代码片段中,我们使用 "interactionCreate" 事件来检测命令类型是否为 Slash Command,然后检测命令名称是否为 "hello"。接下来,我们从传递的参数中获取 "target",然后使用它来构建我们的回复。

在这里,我们使用了 "interaction.reply()" 方法来回复用户的命令。这个方法还可以用于发送交互式消息、回复组件和跟随消息等。

通过以上步骤,您现在应该可以在 Discord.js 中添加 Slash Command。Slash Command 提供了一种更简单、更方便的方式来处理用户的命令,并为您的机器人增加了更智能的功能。