diff --git a/.gitignore b/.gitignore index 2c07b5d..b5b3f10 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ node_modules/ # Files. .env +.DS_Store diff --git a/src/database.ts b/src/database.ts index ebb5b63..b6d4def 100644 --- a/src/database.ts +++ b/src/database.ts @@ -29,19 +29,19 @@ async function getPoints(id: string, guild_id: string): Promise { async function addPoints(id: string, guild_id: string, count: number) { await client` - INSERT INTO points (user_id, guild_id, points) + INSERT INTO points AS p (user_id, guild_id, points) VALUES (${id}, ${guild_id}, ${count}) ON CONFLICT (user_id, guild_id) - DO UPDATE SET points = user_points.points + ${count} + DO UPDATE SET points = p.points + ${count} `; } async function takePoints(id: string, guild_id: string, count: number) { await client` - INSERT INTO points (user_id, guild_id, points) + INSERT INTO points AS p (user_id, guild_id, points) VALUES (${id}, ${guild_id}, 0) ON CONFLICT (user_id, guild_id) - DO UPDATE SET points = GREATEST(user_points.points - ${count}, 0) + DO UPDATE SET points = GREATEST(p.points - ${count}, 0) `; } @@ -52,6 +52,7 @@ async function getLeaderboard(guild_id: string, limit: number = 10): Promise<{ u SELECT user_id, points FROM points WHERE guild_id = ${guild_id} + AND points > 0 ORDER BY points DESC, user_id ASC LIMIT ${limit} `; @@ -66,6 +67,7 @@ async function getLeaderboardPosition(id: string, guild_id: string): Promise 0 ) leaderboard WHERE user_id = ${id} `; diff --git a/src/events/client/ready.ts b/src/events/client/ready.ts index 9687170..e50af31 100644 --- a/src/events/client/ready.ts +++ b/src/events/client/ready.ts @@ -7,7 +7,7 @@ class ReadyEvent extends Event { async handle(context: CommandClient) { await context.deployCommands(); - context.setCustomActivity('Petting the Pond!'); + context.setCustomActivity('Tracking your petting!'); } } diff --git a/src/events/message/messageReactionAdd.ts b/src/events/message/messageReactionAdd.ts index a98007b..bb0f511 100644 --- a/src/events/message/messageReactionAdd.ts +++ b/src/events/message/messageReactionAdd.ts @@ -7,7 +7,7 @@ class MessageReactionAddEvent extends Event { event: string = 'messageReactionAdd' as const; async handle(context: CommandClient, message: Message, emoji: Constants.APIEmoji, member: Member) { - if (emoji.id !== "448912932340891670") return; + if (!message.guildID || emoji.id != '1547870117080342548' || member.id == message.author.id) return; await database.points.addPoints(message.author.id, member.guild.id, 1); } } diff --git a/src/events/message/messageReactionRemove.ts b/src/events/message/messageReactionRemove.ts index cf3e93a..4cad909 100644 --- a/src/events/message/messageReactionRemove.ts +++ b/src/events/message/messageReactionRemove.ts @@ -8,9 +8,8 @@ class MessageReactionRemoveEvent extends Event { async handle(context: CommandClient, message: { id: string; channel: { id: string } }, emoji: Constants.APIEmoji, userId: string) { const _message = await context.getMessage(message.channel.id, message.id); - if (!_message.guildID) return; - if (emoji.id !== "448912932340891670") return; + if (!_message.guildID || emoji.id != '1547870117080342548' || userId == _message.author.id) return; await database.points.takePoints(_message.author.id, _message.guildID, 1); } }