如何让Discord机器人无需命令前缀即可触发重复发消息的say功能
Discord机器人无前缀触发发言功能修改方案
核心调整点
- 移除原有的
!say前缀匹配判断条件 - 新增机器人自身消息过滤规则,避免触发无限循环发送消息的问题
- 修复原有代码存在的语法错误:变量插值符号不匹配、if代码块缺少闭合标记
可用完整代码
// 过滤机器人自身发送的消息,防止循环触发 if (!msg.author.bot) { const say = new Discord.MessageEmbed() .setDescription(`${msg.content}`) msg.channel.send(say) }
可选限制配置
如果不需要全频道生效,仅需要在指定频道触发该功能,可以增加频道ID判断:
// 替换为你要启用功能的频道ID const targetChannelId = "1234567890xxxxxx"; if (!msg.author.bot && msg.channel.id === targetChannelId) { const say = new Discord.MessageEmbed() .setDescription(`${msg.content}`) msg.channel.send(say) }
内容的提问来源于stack exchange,提问作者Dnai
相关产品推荐
相关产品推荐

