Discord.js 向指定ticketChannel频道发送带角色@消息失败问题求解
问题修复方案
错误点说明
- 语法结构错误:第二个发送消息的语句被错误嵌套在了第一个
ticketChannel.send()的入参对象中,JavaScript 不允许在对象字面量内部直接写函数执行语句,会直接抛出语法异常,导致整段代码无法正常执行。 - 多余的前缀引用:你已经获取到了
ticketChannel频道实例,不需要额外拼接message.前缀,多余的前缀会导致属性读取失败,无法找到目标频道。 - 版本适配问题:如果使用的是 Discord.js v13 及以上版本,原代码中的
addComponent方法已废弃,且embeds、components入参要求为数组类型,原代码的写法也会触发版本兼容报错。
修复后可运行代码
// 发送带嵌入消息和按钮的工单消息 ticketChannel.send({ embeds: [supportEmbed], components: [ new MessageActionRow().addComponents(supportButton, claimButton) ] }) // 单独发送艾特角色的工单提醒 ticketChannel.send("<@&874175844422135808> Prosím o vyřešení ticketu")
内容的提问来源于stack exchange,提问作者Kolombooo
相关产品推荐
相关产品推荐

