javascript - 对自己的消息做出反应的 Discord 机器人
问题描述
我当前的 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);
感谢帮助!
解决方案
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 发送。当用户点击反应时,这也可能有助于响应用户。
推荐阅读
- mysql - 如何获得我的结果 sumOfSalary 的顶部查询
- sqlite - SQLite 按 dd:mm 排序
- bash - 在 MacOS 和 Linux 上运行不同的 Shell 脚本
- javascript - Admin-on-rest 是否提供日期范围选择器
- sql-server - 按列选择每个组中不同的项目
- android - 从 Google Play 下载后首次启动应用程序崩溃 (ExceptionInInitializerError)
- spring-boot - 带有客户端证书的 RestTemplate
- c# - 当前上下文中不存在“InitializeComponent”
- angular - 角度地理定位 - 显示某个位置,而不是我当前的位置
- angular - Angular 2+ 在数组中的单个对象上异步执行 setTimeOut