bots - 如何将反应存储到 quick.db
问题描述
所以我想将用户反应存储到 quick.db
let wembed = new Discord.MessageEmbed()
.setAuthor("Armagedon RolePlay | Verify System")
.setColor("PURPLE")
.setThumbnail(message.author.displayAvatarURL())
.setDescription(arg1)
const reactmessage = await client.channels.cache.get(chx).send(wembed)
await reactmessage.react('✅');
const filter = (reaction, user) => reaction.emoji.name === '✅' && !user.bot;
const collector = reactmessage.createReactionCollector(filter, { time: 15000 });
collector.on('collect', async reaction => {
const user = reaction.users.cache.last();
const guild = reaction.message.guild;
const member = guild.member(user) || await guild.fetchMember(user);
member.roles.add("725747028323205170");
});
基本上我想存储用户的反应,然后将其存储到 quick.db 以防机器人崩溃并在用户仍然可以反应后重新启动wembed
解决方案
存储到 quick.db 或任何数据库都不是最好的主意。如果您想在机器人崩溃/重新启动后处理反应,请使用包含部分的客户端选项。我建议使用此代码:
const client = new Discord.Client({
partials: ['MESSAGE', 'CHANNEL', 'REACTION', "GUILD_MEMBER"]
})
推荐阅读
- prometheus - 使用 Spring-kafka 在 GC/消费者重新平衡时清理 Kafka Metric 计量器
- .net - 使用 Docker 映像本地运行 AWS Serverless .NET 项目失败
- javascript - Nuxt SSR DOMException:无法在“节点”上执行“appendChild”:此节点类型不支持此方法
- javascript - 仅在鼠标按下和鼠标同时移动时显示屏幕坐标
- javascript - 条件渲染不起作用 / React Native
- javascript - Javascript 的数字精度如何影响大值?
- javascript - 用户编辑表格时使用 ajax 更新 html 表格
- android - 如何在 Android 中为大于 Oreo 的版本动态更改对讲语言?
- windows - ElixirLS 在 VS Code 中不起作用(Windows 10)
- c++ - 泛型类型的泛型