如何实现Discord机器人收到指定消息时自动发消息?(Discord.js v14)
Discord.js v14 自动回复功能修复
核心问题说明
你当前代码失效的关键原因是:Discord.js v14 已废弃旧的 message 事件,统一使用 messageCreate 事件来监听新消息。此外,v14 中发送消息的方法返回 Promise,建议用异步方式处理以避免潜在报错。
修复后的完整代码
client.on("messageCreate", async (message) => { // 跳过机器人自身发送的消息 if (message.author.bot) return; // 精准匹配消息内容(不区分大小写) if (message.content.toLowerCase() === "kris") { try { await message.channel.send("what"); } catch (err) { console.error("发送消息出错:", err); } } });
可选优化
- 若需要检测消息中包含"kris"(而非完全匹配),可将判断条件改为:
if (message.content.toLowerCase().includes("kris")) { // 执行发送逻辑 } - 务必确保机器人在目标频道拥有发送消息的权限,否则会触发权限错误。
内容的提问来源于stack exchange,提问作者kolop will2pl4yz
相关产品推荐
相关产品推荐

