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

如何移除Discord Bot中残留的Py-cord slash command?

移除遗留的Py-cord Slash命令

方法一:用discord.py v2.0代码删除

Slash命令是存储在Discord服务器端的,需要通过API同步操作才能移除。根据你的latency命令是全局注册还是仅针对特定服务器注册,选择对应操作:

1. 单独删除latency命令

如果只想移除这一个命令、保留其他现有命令,运行以下代码一次即可:

import discord
from discord import app_commands

intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)

@client.event
async def on_ready():
    print(f'登录成 {client.user} 了')
    # 替换成你的服务器ID(如果命令是专属某服务器的)
    target_guild = discord.Object(id=1234567890)
    
    # 移除命令:如果是全局命令,直接去掉guild参数
    tree.remove_command("latency", guild=target_guild)
    
    # 同步变更到Discord服务器
    await tree.sync(guild=target_guild)
    # 全局命令同步用这句:await tree.sync()

client.run('你的Bot令牌')

执行完成后,即可注释掉同步相关代码,无需每次启动Bot都重复执行。

2. 清空所有旧命令(谨慎使用)

如果只剩这个遗留命令,想一次性清空所有旧Slash命令,可以使用以下代码:

# 在on_ready事件中添加这段代码
await tree.clear_commands(guild=target_guild)  # 全局命令请去掉guild参数
await tree.sync(guild=target_guild)

注意:此操作会删除该服务器/全局的所有Slash命令,确认没有需要保留的命令后再执行。

方法二:手动通过Discord开发者门户删除

不想写代码的话,直接通过Discord开发者门户操作:

  • 打开Discord开发者门户,找到你的Bot应用
  • 进入应用后切换到Commands标签页
  • 在Slash Commands列表中找到latency命令,点击右侧的删除按钮
  • 全局命令删除后可能需要几小时才会在所有服务器生效,服务器专属命令删除后立即生效

操作完成后,刷新Discord客户端或服务器,latency命令就会从slash command选择列表中消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:10:20