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

Pycord简单Slash命令触发“This interaction failed”错误排查求助

问题排查与解决思路
  • 未同步斜杠命令到服务器:Pycord不会自动同步斜杠命令到Discord服务器,仅编写命令代码会导致Discord端能看到命令但找不到执行逻辑。可在on_ready事件中添加同步代码,测试时建议指定服务器ID实现即时同步:

    @bot.event
    async def on_ready():
        # 替换为你的测试服务器ID
        await bot.sync_commands(guild_ids=[1234567890])
        print(f'Logged in as {bot.user}')
    

    全局同步(不指定服务器)可能需要1小时才会生效。

  • 未回复交互请求:Discord要求斜杠命令必须在3秒内回复交互,若命令函数中没有await ctx.respond()或await ctx.defer(),会直接触发“This interaction failed”,且本地不会报错。正确的极简命令示例:

    @bot.slash_command(name="test", description="测试斜杠命令")
    async def test_cmd(ctx):
        await ctx.respond("命令执行成功")
    
  • Pycord版本兼容问题:旧版本Pycord存在斜杠命令的已知bug,建议升级到最新稳定版:

    pip install --upgrade py-cord
    
  • 命令处理超时:若命令逻辑耗时超过3秒,需先发送延迟响应,避免Discord判定交互失败:

    @bot.slash_command(name="long_task", description="耗时任务测试")
    async def long_task_cmd(ctx):
        # 发送延迟响应,告知Discord命令正在处理
        await ctx.defer()
        # 模拟耗时操作
        await asyncio.sleep(5)
        # 后续发送结果
        await ctx.followup.send("任务完成")
    
  • 频道级权限限制:即使机器人拥有服务器管理员权限,仍需检查目标频道的权限设置,确保机器人角色拥有「发送消息」「嵌入链接」等基础权限,否则回复交互时会静默失败。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 04:32:36