如何轻松开始使用discord_slash python模块?

Fil*_*leX 0 python discord.py

Discord_slash适合任何刚接触 Discord_slash 的人,相当复杂,在我看来,这些文档有点奇怪且难以理解,因此这里有一个初学者指南,用于开始使用第三方 Discord.py 扩展。

要完全理解这一点,您还必须至少有一点不和谐的经验和Python的经验!

Fil*_*leX 8

!! 该文档摘要已过时,但大部分仍然有效

安装模块

要安装该模块,只需在 Python“脚本”文件夹 CMD 中输入以下内容(Python 文件夹 > 脚本,然后在路径为“cmd”的顶部键入):

pip install discord-py-slash-command
Run Code Online (Sandbox Code Playgroud)

之后,不要忘记使用附加范围 applications.commands ( scope=bot%20applications.commands) 添加您的机器人。您可以获得链接或其他范围,如Discord 开发门户图片中所示 Discord 开发图像

官方文档

最简单的代码

首先,我们将首先创建最简单的代码来使我们的第一个斜杠命令不一致:

pip install discord-py-slash-command
Run Code Online (Sandbox Code Playgroud)

斜杠命令添加说明

现在,这将创建一个名为“test”的新斜杠命令、上面的描述以及一个名为“first_option”的可选选项,您还必须将其作为函数中的参数。

选项类型3表示用户只能输入字符串

还有哪些其他类型显示得稍低一些,当您的命令出现不一致时是什么类型。

该命令现在是全局的,因此可以在 Discord 中您的机器人所在的任何位置调用它!如果您希望它特定于公会,请添加guild_ids=GUILD_IDSGUILD_IDS@slash.slash()作为您希望将此命令添加到选项中的所有服务器 ID 的列表。

还要小心ctx因为它有新功能,但并非所有功能都受支持。ctx.channel.send由于无法定义通道,诸如此类的事情可能会失败。ctx.send将发送对该命令的直接响应。

您还可以通过添加来添加自定义选择

choices=[discord_slash.utils.manage_commands.create_option(name: str, description: str, option_type: Union[int, type], required: bool, choices: Optional[list])]
Run Code Online (Sandbox Code Playgroud)

到选项。

手动删除命令

因此,我们首先了解如何手动删除斜杠命令;您可以通过以下方式执行此操作:

await discord_slash.utils.manage_commands.remove_all_commands(bot_id, bot_token, guild_ids: Optional[List of integers])
Run Code Online (Sandbox Code Playgroud)

删除特定命令,您需要命令 ID来执行;

await discord_slash.utils.manage_commands.remove_slash_command(bot_id, bot_token, guild_id, command_id)
Run Code Online (Sandbox Code Playgroud)

如果我是对的,你可以使用以下命令获取命令 ID

await discord_slash.utils.manage_commands.get_all_commands(bot_id, bot_token, guild_id)
Run Code Online (Sandbox Code Playgroud)

期权类型

选项类型如下:

类型 整数
SUB_COMMAND 1
SUB_COMMAND_GROUP 2
细绳 3
整数 4
布尔值 5
用户 6
渠道 7
角色 8

对于用户、频道和角色,用户可以选择直接通过菜单选择特定的内容,就像您提到的那样,这也将直接作为输入的类传递,而不是作为 ID 或其他内容传递。

命令的显示方式

以下是当您输入“/”时在 Discord 中的 2 张图片:

(我正在使用 BetterDiscord 主题,所以不要想知道为什么它看起来“奇怪”)

普通命令

不和谐的命令

颜色 这是什么 示例是什么
红色的 命令名称,必须是 1-32 个字符的字符串 “测试”
绿色的 用户必须输入的参数 “第一个选项”
蓝色的 表示以下参数是可选的 在我们输入的这种情况下,它后面的所有内容都是“first_option”required=False
黄色的 命令的描述,必须是 1-100 个字符的字符串 “那些汉堡看起来很好吃”

具体选项

选项图片

颜色 这是什么 示例是什么
绿色的 参数(“名称”是红色的,因为我没有输入或输入了错误值) “first_option”,在示例中您只能为此输入一个字符串 ( option_type=3)
红色的 我选择了可​​选参数“userbegrenzung”来输入一个值并查看说明 标红只是为了展示
黄色的 选项说明 “请记下你想要的汉堡上的东西”

我希望您现在对该模块有了更好的理解!如果您对此有任何疑问或建议,请随时发表评论!