Skip to content

Commit e77967f

Browse files
committed
hotfix: only remove the user's reaction, not the entire reaction
2 parents f823074 + 959ddbd commit e77967f

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/modules/etc.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ import {
55
listener,
66
} from 'cookiecord';
77
import { Message, MessageReaction, GuildMember } from 'discord.js';
8-
import { clearMessageOwnership, ownsBotMessage } from '../util/send';
8+
import {
9+
clearMessageOwnership,
10+
DELETE_EMOJI,
11+
ownsBotMessage,
12+
} from '../util/send';
913

1014
export class EtcModule extends Module {
1115
constructor(client: CookiecordClient) {
@@ -43,11 +47,13 @@ export class EtcModule extends Module {
4347

4448
@listener({ event: 'messageReactionAdd' })
4549
async onReact(reaction: MessageReaction, member: GuildMember) {
46-
if (
47-
reaction.emoji.name === '❌' &&
48-
ownsBotMessage(reaction.message, member.id)
49-
) {
50+
if (reaction.emoji.name !== DELETE_EMOJI) return;
51+
if (member.id === this.client.user?.id) return;
52+
53+
if (ownsBotMessage(reaction.message, member.id)) {
5054
clearMessageOwnership(reaction.message);
55+
await reaction.message.delete();
56+
} else {
5157
await reaction.users.remove(member.id);
5258
}
5359
}

src/util/send.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@ const MAX_TRACKED_MESSAGES = 1000;
44

55
const messageToUserId = new Map<string, string>();
66

7+
export const DELETE_EMOJI = '🗑️';
8+
79
export async function sendWithMessageOwnership(
810
message: Message,
911
toSend: string | { embed: MessageEmbed },
1012
) {
1113
const sent = await message.channel.send(toSend);
14+
await sent.react(DELETE_EMOJI);
15+
1216
addMessageOwnership(sent, message.author);
1317
}
1418

0 commit comments

Comments
 (0)