1- import { EmbedBuilder , MessageFlags } from 'discord.js'
2- import { eq } from 'drizzle-orm'
1+ import { EmbedBuilder } from 'discord.js'
32import Command from '$/classes/Command'
43import { config , database } from '$/context'
54import { reminders } from '$/database/schemas'
@@ -12,7 +11,7 @@ const MAX_DURATION = parseDuration('1y')
1211
1312export default new Command ( {
1413 name : 'remind' ,
15- description : 'Set a reminder or list your reminders ' ,
14+ description : 'Set a reminder' ,
1615 type : Command . Type . ChatGuild ,
1716 requirements : {
1817 roles : config . utilities ?. roles ,
@@ -21,7 +20,7 @@ export default new Command({
2120 options : {
2221 message : {
2322 description : 'The reminder message' ,
24- required : false ,
23+ required : true ,
2524 type : Command . OptionType . String ,
2625 maxLength : 1000 ,
2726 } ,
@@ -37,52 +36,6 @@ export default new Command({
3736 } ,
3837 } ,
3938 async execute ( { logger } , interaction , { message, interval, user } ) {
40- // If no message is provided, list all reminders
41- if ( ! message ) {
42- const userReminders = await database . query . reminders . findMany ( {
43- where : eq ( reminders . creatorId , interaction . user . id ) ,
44- } )
45-
46- if ( userReminders . length === 0 ) {
47- const embed = applyCommonEmbedStyles (
48- new EmbedBuilder ( ) . setTitle ( 'No Reminders' ) . setDescription ( 'You have no active reminders.' ) ,
49- false ,
50- true ,
51- true ,
52- )
53-
54- await interaction . reply ( {
55- embeds : [ embed ] ,
56- flags : MessageFlags . Ephemeral ,
57- } )
58- return
59- }
60-
61- const reminderList = userReminders
62- . map ( r => {
63- const targetStr = r . targetId === r . creatorId ? 'yourself' : `<@${ r . targetId } >`
64- return (
65- `**${ r . id } .** ${ r . message . substring ( 0 , 50 ) } ${ r . message . length > 50 ? '...' : '' } \n` +
66- `-# For ${ targetStr } • <t:${ r . remindAt } :R> • Reminded ${ r . count } x`
67- )
68- } )
69- . join ( '\n\n' )
70-
71- const embed = applyCommonEmbedStyles (
72- new EmbedBuilder ( ) . setTitle ( 'Your Reminders' ) . setDescription ( reminderList ) ,
73- false ,
74- true ,
75- true ,
76- )
77-
78- await interaction . reply ( {
79- embeds : [ embed ] ,
80- flags : MessageFlags . Ephemeral ,
81- } )
82- return
83- }
84-
85- // Create a new reminder
8639 const targetUser = user ?? interaction . user
8740 const durationMs = parseDuration ( interval ?? '1d' , 'd' )
8841
0 commit comments