diff --git a/PBot/Plugins/RemindMe.pm b/PBot/Plugins/RemindMe.pm index 4244e9c2..523c1c3a 100644 --- a/PBot/Plugins/RemindMe.pm +++ b/PBot/Plugins/RemindMe.pm @@ -167,7 +167,7 @@ sub remindme { return "Internal error."; } - my $usage = "Usage: remindme [-c channel] message -t time | remindme -l [nick] | remindme -d "; + my $usage = "Usage: remindme [-c channel] message -t time | remindme -l [nick] | remindme -d id"; return $usage if not length $arguments; @@ -298,7 +298,7 @@ sub remindme { if (not defined $admininfo) { my $reminders = $self->get_reminders($account); if (@$reminders >= 3) { - return "You may only set 3 reminders at a time. Use `remindme -d ` to remove a reminder."; + return "You may only set 3 reminders at a time. Use `remindme -d id` to remove a reminder."; } } @@ -330,6 +330,13 @@ sub check_reminders { my $hostmask = $self->{pbot}->{messagehistory}->{database}->find_most_recent_hostmask($reminder->{account}); my ($nick) = $hostmask =~ /^([^!]+)!/; + # delete this reminder if it's expired by 31 days + if (gettimeofday - $reminder->{alarm} >= 86400 * 31) { + $self->{pbot}->{logger}->log("Deleting expired reminder: $reminder->{id}) $reminder->{text} set by $reminder->{created_by}\n"); + $self->delete_reminder($reminder->{id}); + next; + } + # don't execute this reminder if the person isn't around yet next if not $self->{pbot}->{nicklist}->is_present_any_channel($nick);