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

Discord机器人新增/ping命令后部分命令失效无报错如何解决

问题根因

  • Discord交互响应超时:Discord规定斜杠命令触发后必须在3秒内给出首次响应,网络波动、服务延迟超过该阈值就会触发Unknown interaction报错,后续对该交互的所有操作都会失效。部分场景下未触发报错是因为请求刚好在超时阈值内完成
  • 异步方法缺await修饰:interaction.editReply是异步方法,现有代码未添加await关键字,会导致操作未执行完成就丢失上下文,出现无返回、无报错的静默失败
  • 缺少异常捕获逻辑:命令回调函数未包裹异常捕获逻辑,运行时错误直接被吞,无法输出报错信息

修复代码

import { Client, Message, MessageEmbed, MessageActionRow, MessageButton, MessageSelectMenu } from'discord.js';
const db = require('quick.db')
const moment = require('moment')
import { ICommand } from "wokcommands";


export default{
    name: 'ping',
    description: "Fetches the client latency",
    category: "Utilities",

    slash: 'both',
    testonly: true,


    /** 
     * @param {Client} client 
     * @param {Message} message 
     * @param {String[]} args 
     */

     callback: async({ client, message, interaction, args }) => {
        try {
            if (message) {
                const msg = await message.channel.send ({content: `> 🏓 Pinging..`})
                await msg.edit({content: `> 🏓 Pong! Latency: **${client.ws.ping}ms**`})
            }
            else if (interaction) {
                await interaction.reply({content: `> 🏓 Pinging..`});
                // 补充await修饰
                await interaction.editReply({content: `> 🏓 Pong! Latency: **${client.ws.ping}ms**`});
            }
        } catch (err) {
            // 捕获异常输出到控制台,方便排查
            console.error('命令执行出错:', err)
            // 如果是交互场景且未回复,可给用户返回错误提示
            if (interaction && !interaction.replied && !interaction.deferred) {
                await interaction.reply({ content: '命令执行失败,请稍后重试', ephemeral: true })
            }
        }
    }

} as ICommand

额外排查项

  • 确认wokcommands配置的测试服务器ID正确,testonly: true的命令只会在指定测试服务器同步,其他服务器无法调用
  • 确认机器人邀请时已勾选applications.commands权限,否则斜杠命令无法正常触发
  • 如果命令执行逻辑超过3秒,需先调用await interaction.deferReply()延长响应时间,最长可延至15分钟

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:15:04