You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Nextcord Python Discord机器人的所有应用命令及子命令?

获取Nextcord中所有斜杠子命令的方法

get_all_commands()是针对前缀命令设计的,所以无法获取斜杠命令。要拿到所有斜杠子命令,得从客户端的application_commands属性入手——这里存储了所有注册的顶级斜杠命令(包括带子命令的主命令)。

实现代码

# 遍历所有顶级斜杠命令
for main_command in client.application_commands:
    # 判断当前命令是否包含子命令
    if hasattr(main_command, "subcommands"):
        # 遍历所有子命令
        for subcmd in main_command.subcommands:
            # 提取并打印子命令核心信息
            print(f"主命令: {main_command.name}")
            print(f"子命令名称: {subcmd.name}")
            print(f"子命令描述: {subcmd.description if subcmd.description else '未设置描述'}")
            # 若需要更多属性(如命令参数、权限要求等),可直接访问subcmd的对应属性
            print("-" * 20)

补充说明

  • 若你的命令是针对特定服务器注册的,可改用client.get_guild(服务器ID).commands来获取对应服务器的命令集合,全局命令直接用application_commands即可。
  • 子命令对象还包含options(命令参数)、default_member_permissions(默认权限)等属性,可根据需求自行提取。

内容的提问来源于stack exchange,提问作者Tornike Bekauri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 06:46:07