Skip to content

Commit

Permalink
Add more reminder autofills
Browse files Browse the repository at this point in the history
  • Loading branch information
Tibowl committed Apr 19, 2021
1 parent 2abf968 commit acadb7c
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 19 deletions.
23 changes: 15 additions & 8 deletions src/commands/misc/reminderadd.ts
Expand Up @@ -44,6 +44,9 @@ Example: \`${config.prefix}ar Weekly boss in 36 resin\``,
if (name.match(/^Para(metric)?s?( Trans(former)?s?)?$/i)) time = "6 days and 22 hours"
else if (name.match(/^(Ores?|Minerals?|(Blue )?Crystals?( Chunks?)?)$/i)) time = "3 days"
else if (name.match(/Special(tie)?s?$/i)) time = "48 hours"
else if (name.match(/Art(i|e)facts?( run)?$/i)) time = "1 day"
else if (name.match(/^Daily/i)) time = "1 day"
else if (name.match(/^Weekly/i)) time = "7 days"
else return this.sendHelp(message)
}

Expand All @@ -67,17 +70,21 @@ Example: \`${config.prefix}ar Weekly boss in 36 resin\``,
while (reminders.some(r => r.id == id) || reminderManager.getReminderById(userid, id))
id++

const reminder = reminderManager.addReminder(id, name, userid, duration)
const timestamp = Date.now() + duration
const reply = message.channel.send(
new MessageEmbed()
.setTitle(`Created reminder #${id}`)
.setColor(Colors.GREEN)
.setDescription(`I'll remind you in DM's about \`${name}\` in **${timeLeft(duration, true, false)}**`)
.setFooter("In your local timezone")
.setTimestamp(timestamp)
)

const reminder = reminderManager.addReminder(id, name, userid, duration, timestamp)

if (reminder.timestamp <= timerManager.queuedUntil)
timerManager.queueReminder(reminder)

return message.channel.send(new MessageEmbed()
.setTitle(`Created reminder #${reminder.id}`)
.setColor(Colors.GREEN)
.setDescription(`I'll remind you in DM's about \`${reminder.subject}\` in **${timeLeft(reminder.duration, true, false)}**`)
.setFooter("In your local timezone")
.setTimestamp(reminder.timestamp)
)
return reply
}
}
19 changes: 11 additions & 8 deletions src/commands/misc/reminderremove.ts
Expand Up @@ -33,16 +33,19 @@ Example: \`${config.prefix}dr 1\``,

if (!reminder) return message.channel.send(`Could not find reminder with ID #${id}`)

reminderManager.deleteReminder(userid, id, reminder.timestamp)

return message.channel.send(new MessageEmbed()
.setTitle(`Deleted reminder #${reminder.id}`)
.setColor(Colors.RED)
.setDescription(`I won't remind you about \`${reminder.subject}\` in ${timeLeft(reminder.timestamp - Date.now(), false, false)}
const reply = message.channel.send(
new MessageEmbed()
.setTitle(`Deleted reminder #${reminder.id}`)
.setColor(Colors.RED)
.setDescription(`I won't remind you about \`${reminder.subject}\` in ${timeLeft(reminder.timestamp - Date.now(), false, false)}
You can re-start this reminder with \`${config.prefix}ar ${reminder.subject} in ${timeLeft(reminder.duration, true, true)}\` or with \`${config.prefix}ar ${reminder.subject} in ${timeLeft(reminder.timestamp - Date.now(), true, true)}\` if you don't want to reset the duration`)
.setFooter("In your local timezone")
.setTimestamp(reminder.timestamp)
.setFooter("In your local timezone")
.setTimestamp(reminder.timestamp)
)

reminderManager.deleteReminder(userid, id, reminder.timestamp)

return reply
}
}
6 changes: 3 additions & 3 deletions src/utils/ReminderManager.ts
Expand Up @@ -30,17 +30,17 @@ export default class ReminderManager {
}

private addReminderStatement: SQLite.Statement
addReminder(id: number, subject: string, userid: string, duration: number): Reminder {
addReminder(id: number, subject: string, userid: string, duration: number, timestamp: number): Reminder {
const reminder: Reminder = {
id,
subject,
user: userid,
timestamp: Date.now() + duration,
timestamp,
duration
}

Logger.info(`Adding new reminder for ${userid} @ ${reminder.timestamp} in ${timeLeft(duration)}: ${subject}`)
this.addReminderStatement.run(reminder)
Logger.info(`Added new reminder for ${userid} @ ${reminder.timestamp} in ${timeLeft(duration)}: ${subject}`)
return reminder
}

Expand Down

0 comments on commit acadb7c

Please sign in to comment.