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

时间:2020-04-16 16:32:22

标签: javascript bots discord.js

我当前的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(`${prefix}bstart`));
    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 个答案:

答案 0 :(得分:0)

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对于用户单击反应时的响应也可能很有用。