reaction_roles: add remove_user_reactions option

This commit is contained in:
Dragory 2020-08-30 00:49:44 +03:00
parent bf4c6cc25c
commit f3417313bc
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
3 changed files with 13 additions and 8 deletions

View file

@ -16,6 +16,7 @@ const MIN_AUTO_REFRESH = 1000 * 60 * 15; // 15min minimum, let's not abuse the A
const defaultOptions: PluginOptions<ReactionRolesPluginType> = {
config: {
auto_refresh_interval: MIN_AUTO_REFRESH,
remove_user_reactions: true,
can_manage: false,
},

View file

@ -51,13 +51,16 @@ export const AddReactionRoleEvt = reactionRolesEvent({
}
// Remove the reaction after a small delay
setTimeout(() => {
pluginData.state.reactionRemoveQueue.add(async () => {
const reaction = emoji.id ? `${emoji.name}:${emoji.id}` : emoji.name;
const wait = sleep(1500);
await msg.channel.removeMessageReaction(msg.id, reaction, userId).catch(noop);
await wait;
});
}, 1500);
const config = pluginData.config.getForMember(member);
if (config.remove_user_reactions) {
setTimeout(() => {
pluginData.state.reactionRemoveQueue.add(async () => {
const reaction = emoji.id ? `${emoji.name}:${emoji.id}` : emoji.name;
const wait = sleep(1500);
await msg.channel.removeMessageReaction(msg.id, reaction, userId).catch(noop);
await wait;
});
}, 1500);
}
},
});

View file

@ -6,6 +6,7 @@ import { Queue } from "src/Queue";
export const ConfigSchema = t.type({
auto_refresh_interval: t.number,
remove_user_reactions: t.boolean,
can_manage: t.boolean,
});
export type TConfigSchema = t.TypeOf<typeof ConfigSchema>;