对自己的消息做出反应的 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?