Skip to content

Commit b346e60

Browse files
committed
encrypt reminder id
1 parent c7d049c commit b346e60

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

src/commands/reminders/remindme.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import ExtendedClient from "../../classes/ExtendedClient";
33
import { ChatInputCommandInteraction, ColorResolvable, TextChannel } from "discord.js";
44

55
import { emojis as emoji } from "../../../config.json";
6-
import { randomUUID } from "crypto";
76

87
import Reminder from "../../models/Reminder";
98

@@ -98,23 +97,18 @@ const command: Command = {
9897
return;
9998
}
10099

101-
const id = randomUUID().slice(0, 8) as string;
102-
103100
const reminder = await new Reminder({
104-
reminder_id: id,
105101
user: interaction.user.id,
106102
channel: interaction.channel?.id ? interaction.channel?.id : null,
107-
reminder_set: (Date.now()).toString(),
108-
reminder_due: (Date.now() + time).toString(),
109103
delay: time,
110104
reason: reason,
111105
send_in_channel: sendInChannel
112106
}).save()
113107

114108
if(time < client.config.reminders.timeTillSet) {
115-
client.reminders.set(`${interaction.user.id}-${id}`, setTimeout(async () => {
116-
client.reminders.delete(`${interaction.user.id}-${id}`);
117-
await Reminder.findOneAndDelete({ reminder_id: id, user: interaction.user.id });
109+
client.reminders.set(`${interaction.user.id}-${reminder.reminder_id}`, setTimeout(async () => {
110+
client.reminders.delete(`${interaction.user.id}-${reminder.reminder_id}`);
111+
await Reminder.findOneAndDelete({ reminder_id: reminder.reminder_id, user: interaction.user.id });
118112

119113
const embed = new Discord.EmbedBuilder()
120114
.setColor(client.config.embeds.default as ColorResolvable)

src/models/Reminder.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ const reminderSchema = new Schema<Reminder>(
3838
type: String,
3939
required: true,
4040
unique: true,
41-
index: true
41+
index: true,
42+
default: () => crypto.randomBytes(4).toString("hex"),
43+
set: (value: string) => encrypt(value),
44+
get: (value: string) => decrypt(value)
4245
},
4346
user: {
4447
type: String,

0 commit comments

Comments
 (0)