|
@@ -220,17 +220,20 @@ class Remind(Command): |
|
|
|
|
|
|
|
|
def _show_reminders(self, data, user): |
|
|
def _show_reminders(self, data, user): |
|
|
"""Show all of a user's current reminders.""" |
|
|
"""Show all of a user's current reminders.""" |
|
|
|
|
|
if user not in self.reminders: |
|
|
|
|
|
self.reply(data, "You have no reminders. Set one with " |
|
|
|
|
|
"\x0306!remind [time] [message]\x0F. See also: " |
|
|
|
|
|
"\x0306!remind help\x0F.") |
|
|
|
|
|
return |
|
|
|
|
|
|
|
|
shorten = lambda s: (s[:37] + "..." if len(s) > 40 else s) |
|
|
shorten = lambda s: (s[:37] + "..." if len(s) > 40 else s) |
|
|
fmt = lambda robj: '\x0303{0}\x0F ("{1}", {2})'.format( |
|
|
|
|
|
robj.id, shorten(robj.message), robj.end_time) |
|
|
|
|
|
|
|
|
dest = lambda data: ( |
|
|
|
|
|
"privately" if data.is_private else "in {0}".format(data.chan)) |
|
|
|
|
|
fmt = lambda robj: '\x0303{0}\x0F ("{1}" {2}, {3})'.format( |
|
|
|
|
|
robj.id, shorten(robj.message), dest(robj.data), robj.end_time) |
|
|
|
|
|
|
|
|
if user in self.reminders: |
|
|
|
|
|
rlist = ", ".join(fmt(robj) for robj in self.reminders[user]) |
|
|
|
|
|
msg = "Your reminders: {0}.".format(rlist) |
|
|
|
|
|
else: |
|
|
|
|
|
msg = ("You have no reminders. Set one with \x0306!remind [time] " |
|
|
|
|
|
"[message]\x0F. See also: \x0306!remind help\x0F.") |
|
|
|
|
|
self.reply(data, msg) |
|
|
|
|
|
|
|
|
rlist = ", ".join(fmt(robj) for robj in self.reminders[user]) |
|
|
|
|
|
self.reply(data, "Your reminders: {0}.".format(rlist)) |
|
|
|
|
|
|
|
|
def _show_all_reminders(self, data): |
|
|
def _show_all_reminders(self, data): |
|
|
"""Show all reminders to bot admins.""" |
|
|
"""Show all reminders to bot admins.""" |
|
@@ -243,14 +246,14 @@ class Remind(Command): |
|
|
self.reply(data, "There are no active reminders.") |
|
|
self.reply(data, "There are no active reminders.") |
|
|
return |
|
|
return |
|
|
|
|
|
|
|
|
shorten = lambda s: (s[:37] + "..." if len(s) > 40 else s) |
|
|
|
|
|
fmt = lambda robj, user: '\x0303{0}\x0F ("{1}" for {2}, {3})'.format( |
|
|
|
|
|
robj.id, shorten(robj.message), user, robj.end_time) |
|
|
|
|
|
|
|
|
dest = lambda data: ( |
|
|
|
|
|
"privately" if data.is_private else "in {0}".format(data.chan)) |
|
|
|
|
|
fmt = lambda robj, user: '\x0303{0}\x0F (for {1} {2}, {3})'.format( |
|
|
|
|
|
robj.id, user, dest(robj.data), robj.end_time) |
|
|
|
|
|
|
|
|
rlist = (fmt(rem, user) for user, rems in self.reminders.iteritems() |
|
|
rlist = (fmt(rem, user) for user, rems in self.reminders.iteritems() |
|
|
for rem in rems) |
|
|
for rem in rems) |
|
|
msg = "All reminders: {0}.".format(", ".join(rlist)) |
|
|
|
|
|
self.reply(data, msg) |
|
|
|
|
|
|
|
|
self.reply(data, "All reminders: {0}.".format(", ".join(rlist))) |
|
|
|
|
|
|
|
|
def _process_snooze_command(self, data, user): |
|
|
def _process_snooze_command(self, data, user): |
|
|
"""Process the !snooze command.""" |
|
|
"""Process the !snooze command.""" |
|
@@ -421,6 +424,11 @@ class _Reminder(object): |
|
|
self._cmdobj.unstore_reminder(self.id) |
|
|
self._cmdobj.unstore_reminder(self.id) |
|
|
|
|
|
|
|
|
@property |
|
|
@property |
|
|
|
|
|
def data(self): |
|
|
|
|
|
"""Return the IRC data object associated with this reminder.""" |
|
|
|
|
|
return self._data |
|
|
|
|
|
|
|
|
|
|
|
@property |
|
|
def end_time(self): |
|
|
def end_time(self): |
|
|
"""Return a string representing the end time of a reminder.""" |
|
|
"""Return a string representing the end time of a reminder.""" |
|
|
if self.end >= time.time(): |
|
|
if self.end >= time.time(): |
|
|