如何将反应存储到 quick.db
Posted
技术标签:
【中文标题】如何将反应存储到 quick.db【英文标题】:How to store reactions into quick.db 【发布时间】:2020-10-20 04:26:54 【问题描述】:所以我想将用户反应存储到 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
作出反应后重新启动
【问题讨论】:
【参考方案1】:存储到 quick.db 或任何数据库不是最好的主意。如果您想在机器人崩溃/重新启动后处理反应,请使用 Client's options 其中包含部分。我建议使用此代码:
const client = new Discord.Client(
partials: ['MESSAGE', 'CHANNEL', 'REACTION', "GUILD_MEMBER"]
)
【讨论】:
是的,但如果我重新启动机器人,用户仍然可以对消息做出反应,但不会获得角色 确保你需要获取一个像const member = message.guild.members.cache.get(user.id)
这样的成员类,然后添加一个角色。
嗯,但是有没有办法在我的命令文件而不是 index.js 中执行此操作以上是关于如何将反应存储到 quick.db的主要内容,如果未能解决你的问题,请参考以下文章