mirror of
https://github.com/ahmadk953/poixpixel-discord-bot.git
synced 2025-05-10 10:43:06 +00:00
feat: add achievement system
Signed-off-by: Ahmad <103906421+ahmadk953@users.noreply.github.com>
This commit is contained in:
parent
830838a6a1
commit
2f5c3499e7
15 changed files with 1966 additions and 37 deletions
52
src/events/reactionEvents.ts
Normal file
52
src/events/reactionEvents.ts
Normal file
|
@ -0,0 +1,52 @@
|
|||
import {
|
||||
Events,
|
||||
MessageReaction,
|
||||
PartialMessageReaction,
|
||||
User,
|
||||
PartialUser,
|
||||
} from 'discord.js';
|
||||
|
||||
import { Event } from '@/types/EventTypes.js';
|
||||
import {
|
||||
decrementUserReactionCount,
|
||||
incrementUserReactionCount,
|
||||
} from '@/db/db.js';
|
||||
import { processReactionAchievements } from '@/util/achievementManager.js';
|
||||
|
||||
export const reactionAdd: Event<typeof Events.MessageReactionAdd> = {
|
||||
name: Events.MessageReactionAdd,
|
||||
execute: async (
|
||||
reaction: MessageReaction | PartialMessageReaction,
|
||||
user: User | PartialUser,
|
||||
) => {
|
||||
try {
|
||||
if (user.bot || !reaction.message.guild) return;
|
||||
|
||||
await incrementUserReactionCount(user.id);
|
||||
|
||||
await processReactionAchievements(user.id, reaction.message.guild);
|
||||
} catch (error) {
|
||||
console.error('Error handling reaction add:', error);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
export const reactionRemove: Event<typeof Events.MessageReactionRemove> = {
|
||||
name: Events.MessageReactionRemove,
|
||||
execute: async (
|
||||
reaction: MessageReaction | PartialMessageReaction,
|
||||
user: User | PartialUser,
|
||||
) => {
|
||||
try {
|
||||
if (user.bot || !reaction.message.guild) return;
|
||||
|
||||
await decrementUserReactionCount(user.id);
|
||||
|
||||
await processReactionAchievements(user.id, reaction.message.guild, true);
|
||||
} catch (error) {
|
||||
console.error('Error handling reaction remove:', error);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
export default [reactionAdd, reactionRemove];
|
Loading…
Add table
Add a link
Reference in a new issue