我的不和谐机器人循环了很多消息(discord.js)

Posted

技术标签:

【中文标题】我的不和谐机器人循环了很多消息(discord.js)【英文标题】:My discord bot loops a lot of messages (discord.js) 【发布时间】:2021-08-04 16:38:21 【问题描述】:

我尝试创建一个回复图片的机器人。它的工作,但几秒钟后,机器人再次发送嵌入没有图片并循环(查看下图)

client.on('message' , (message) => 
    var content = message.content.split(" "); 

    const channel = client.channels.cache.find(channel => channel.name === "spam")
    const messageinput = `$message.content`
    let messageAttachment = message.attachments.size > 0 ? message.attachments.array()[0].url : null

    let embed = new Discord.MessageEmbed();
        embed.setAuthor("Test")
        if (messageAttachment) embed.setImage(messageAttachment)
        embed.setColor(16689911);
    message.channel.send(embed)  
)

这是输出:

【问题讨论】:

【参考方案1】:

机器人一遍又一遍地循环,因为它是对它自己发送的消息的反应。您可以通过确保消息作者不是机器人来防止这种情况发生。

client.on('message' , (message) => 

if (message.author.bot) return 

var content = message.content.split(" "); 

const channel = client.channels.cache.find(channel => channel.name === "spam")
const messageinput = `$message.content`
let messageAttachment = message.attachments.size > 0 ? message.attachments.array()[0].url : null

let embed = new Discord.MessageEmbed();
    embed.setAuthor("Test")
    if (messageAttachment) embed.setImage(messageAttachment)
    embed.setColor(16689911);
message.channel.send(embed)
 
)

【讨论】:

以上是关于我的不和谐机器人循环了很多消息(discord.js)的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的不和谐机器人回复“跟进”消息

无法从我的不和谐机器人向用户发送私人消息?

如何让我的不和谐机器人响应没有前缀的消息

如何删除我的不和谐机器人在特定频道中发送的先前消息?

让您的不和谐机器人保存您发送的消息

我的不和谐机器人没有上线 - 不和谐 v13