|
|
|
@ -110,6 +110,33 @@ namespace RhinoReminds
|
|
|
|
|
|
|
|
|
|
switch (parts[0].ToLower())
|
|
|
|
|
{
|
|
|
|
|
case "delete":
|
|
|
|
|
case "remove":
|
|
|
|
|
List<int> failed = new List<int>(),
|
|
|
|
|
succeeded = new List<int>();
|
|
|
|
|
foreach (int nextId in AIRecogniser.RecogniseNumbers(message.Body)) {
|
|
|
|
|
Reminder nextReminder = reminderList.GetById(nextId);
|
|
|
|
|
if (nextReminder.JidObj != message.From.GetBareJid()) {
|
|
|
|
|
failed.Add(nextId);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
reminderList.DeleteReminder(nextReminder);
|
|
|
|
|
succeeded.Add(nextId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (failed.Count > 0) {
|
|
|
|
|
string response = string.Join(", ", failed.Select((int nextId) => $"#{nextId}"));
|
|
|
|
|
response = $"Sorry! I can't delete reminder{(failed.Count != 1 ? "s" : "")} {response}, as you didn't create {(failed.Count != 1 ? "them":"it")}.";
|
|
|
|
|
sendChatReply(message, response);
|
|
|
|
|
}
|
|
|
|
|
if (succeeded.Count > 0) {
|
|
|
|
|
string response = string.Join(", ", succeeded.Select((int nextId) => $"#{nextId}"));
|
|
|
|
|
response = $"Deleted reminder{(succeeded.Count != 1 ? "s" : "")} {response} successfully.";
|
|
|
|
|
sendChatReply(message, response);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "list":
|
|
|
|
|
case "show":
|
|
|
|
|
if (parts.Select((n) => n.ToLower()).Contains("all")) {
|
|
|
|
@ -165,6 +192,7 @@ namespace RhinoReminds
|
|
|
|
|
Reminder newReminder = reminderList.CreateReminder(message.From, dateTime, reminder);
|
|
|
|
|
reminderList.Save(ReminderFilePath);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
sendChatReply(message, "I don't understand that. Try rephrasing it or asking for help.");
|
|
|
|
|
break;
|
|
|
|
|