Discord.js API错误(代码10062):规则嵌入命令异常求助
DiscordAPIError[10062]: Unknown interaction 错误解决办法
错误根源
- 交互超时未响应:Discord要求所有斜线命令交互必须在3秒内返回响应(
reply/deferReply等)。你的代码仅在用户ID匹配时才执行回复,不匹配时无任何操作,导致Discord服务器因超时判定该交互为“未知”,触发10062错误。 - 语法错误:Embed中Rule3的名称字段未闭合单引号(
'**Rule 3缺少结尾的'),可能导致代码执行异常,进一步拖慢响应节奏。
修复步骤
1. 补充全场景响应逻辑
无论用户是否满足条件,都必须返回响应。可以给无权限用户发送私有提示(ephemeral: true 仅用户自己可见),避免交互超时。
2. 修正语法错误
闭合Rule3字段的单引号,消除代码执行隐患。
3. 优化代码(可选)
让命令描述更清晰,合并权限判断逻辑减少冗余。
修复后的完整代码
const { SlashCommandBuilder, EmbedBuilder, PermissionFlagsBits } = require('discord.js'); module.exports = { data: new SlashCommandBuilder() .setName("rules") .setDescription("发送服务器规则") .setDefaultMemberPermissions(PermissionFlagsBits.ManageServer), async execute(interaction) { if(interaction.user.id === '1078011590927990896'){ const embed = new EmbedBuilder() .setTitle('服务器规则') .addFields( { name: '**规则1**', value: '**禁止刷屏**\n刷屏违反Discord服务条款,尤其是他人正在对话时,请避免刷屏行为。' }, { name: '**规则2**', value: '**禁止使用歧视性词汇**\n类似fu##、sh##的词汇可适度使用但不可刷屏,若发送n-word等严重歧视性词汇,将被临时禁言。' }, { name: '**规则3**', value: '**禁止随意广告**\n服务器设有专门广告频道,请勿在其他频道发广告;仅可在对方同意的情况下私信发送广告。' } ) .setColor('#22DD22'); await interaction.reply({ embeds: [embed] }); } else { await interaction.reply({ content: '你没有权限执行此命令。', ephemeral: true }); } } }
额外注意点
- 如果命令需要执行耗时操作(比如查询数据库),先调用
await interaction.deferReply()延迟响应,之后再用interaction.editReply()更新内容,确保不超时。 - 确认命令已正确部署到服务器:若修改了
data部分的命令配置,需要重新运行命令注册脚本,让Discord更新命令信息。
内容的提问来源于stack exchange,提问作者Sum.
相关产品推荐
相关产品推荐

