sylae / ligrev

XMPP MUC Utility bot
GNU General Public License v3.0
2 stars 1 forks source link

:remind command - basically :tell to yourself #70

Closed sylae closed 8 years ago

sylae commented 8 years ago

:remind operates similarly to :tell, however it only works for yourself, and instead of delivering the message when Ligrev sees activity, it will only be delivered on activity after a user-specified cutoff time.

In addition (on the fence here), Ligrev can simply say "You have a pending reminder - type :reminders to view" instead of just delivering. But this seems like a bit of a pain. So probably won't do that.

Examples:

:remind 8h30m do something in eight and a half hours
:remind @2016-08-20 do something on the 20th
:remind login do something at next login

If the user is online, Ligrev will deliver these messages at the specified time (probably using JAXLClock::call_fun_periodic every minute) if the user is online and and it is at or after the reminder time.

If a user is online, but inactive, Ligrev should send the reminder, mark it as having been sent, while inactive, and then send it again (while also fully clearing it) next time the user becomes active.

Another option, possibly for a later enhancement, is adding a :snooze command, which will push the reminder back some unit of time.