Discord.js命令模块报错:SyntaxError: Unexpected token 'async'
排查并修复Discord.js Slash命令的SyntaxError错误
错误原因及修复点:
- 对象属性缺少逗号:
data属性定义末尾未添加逗号,导致JS解析器无法识别后续的async execute为对象属性,这是触发Unexpected token 'async'的核心原因。 - 颜色值格式错误:
setColor(fffff)中颜色值未加引号且格式不完整,应改为合法的十六进制颜色字符串,比如#ffffff。 - await语法错误:
await.interaction多了一个多余的点,正确写法是await interaction.reply(...)。 - 冗余未定义代码:
channel.send(exampleEmbed);属于无效代码,exampleEmbed未定义且此处不需要额外发送消息,需删除。 - 无用导入清理:
Embed未被使用,可从导入语句中移除。
修复后的完整代码:
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js"); module.exports = { data: new SlashCommandBuilder() .setName("list") .setDescription("Returns an embed."), // 补充属性分隔逗号 async execute(interaction, client) { const embed = new EmbedBuilder() .setTitle('title') .setDescription('description') .setColor('#ffffff') // 修正颜色值格式 .setImage(client.user.displayAvatarUrl()); await interaction.reply({ // 修正await语法 embeds: [embed] }); } }
内容的提问来源于stack exchange,提问作者Сергій Варавський
相关产品推荐
相关产品推荐

