对自己的消息做出反应的 Discord 机器人

Posted

技术标签:

【中文标题】对自己的消息做出反应的 Discord 机器人【英文标题】:Discord bot that reacts to its own message 【发布时间】:2020-07-29 23:47:59 【问题描述】:

我当前的 discord.js 代码有问题。我正在尝试制作一个机器人,它会每小时提醒我做某事,但如果我不这样做,我希望它增加 1 小时(所以基本上如果我 4 小时不这样做,我希望消息说:自上次缓冲区检查以来已经 4 小时,等等)。此外,当我想添加反应时,机器人开始对特定频道中的每条消息做出反应,但我希望它对自己的消息做出反应,这样我就可以添加更多内容。当我启动它时,它工作但垃圾邮件。代码可能丑陋而复杂,对此我很抱歉。

const Discord = require('discord.js');
const  prefix, token  = require('./config.json');
const client = new Discord.Client();
const Buffer = new Discord.MessageEmbed()
    .setColor('#FF4C26')
    .setTitle("**It's time to check buffers!**")
    .setDescription("**It's been **" + "`" + lastbuffer + " Hour" + "`" + "** since last buffercheck, <@&675688526460878848>**." + " **Check now!**")
    .setThumbnail('https://art.pixilart.com/88534e2f28b65a4.png')
    .setFooter('WEEEEEWOOOOO')
    .setTimestamp();
client.once('ready', () => 
    console.log('Ready!');
);

client.on('message', message => 
    if (message.content.startsWith(`$prefixbstart`));
    let role2 = message.guild.roles.cache.get("675688526460878848")
    client.channels.cache.get("<700296799482675230>")
)
client.on('message', message => 
    message.channel.send(Buffer)
    message.react('✅')
    message.react('????')
)

client.login(token);

感谢您的帮助!

【问题讨论】:

您缺乏对这个问题的关注,看起来您正试图将多个问题塞进一个问题中,这对于您真正想要做什么感到困惑。 *** 格式是问答式,你需要非常具体地解决问题。 所以你建议我问一个问题,然后当我得到答案时再问另一个帖子? 没错。最好问两个重点突出的问题,而不是一个令人困惑的问题。 我会记住这一点。谢谢 【参考方案1】:
setInterval(function()
    client.channels.cache.get("CHANNEL_ID").send(Buffer).then(msg => 
        msg.react('✅');
        msg.react('?');
    );
, 3600000); // waits for 1 hour

您也可以使用client.users.cache.get("USER_ID").send() 通过 DM 发送。 This 也可能有助于在用户点击反应时做出回应。

【讨论】:

我按照你说的做了,现在我一次收到 2 条消息;/ 修复了多条消息问题。我忘了在 if (message.content.startsWith($prefixbstart)); 之后添加 ;

以上是关于对自己的消息做出反应的 Discord 机器人的主要内容,如果未能解决你的问题,请参考以下文章

discord.py :: 我怎样才能让我的机器人对它自己的消息做出反应?

当用户对消息做出反应时,机器人会在 discord.js 中发送另一条消息

(discord.js) 如何提及对机器人消息做出反应的用户?

Discord.js v12 如何获取对特定消息做出反应的人的 id?

当有人对消息做出反应时,我如何让我的 discord.js 机器人添加角色?

无法读取未定义的属性“发送”:Discord 机器人创建通道并向其发送消息然后对其做出反应