Exemplo n.º 1
0
        public static void HandleTimer(object source, ElapsedEventArgs arg)
        {
            if (System.IO.File.Exists(Environment.CurrentDirectory + "\\cache\\reminders.json"))
            {
                List <ReminderObject> toSend  = new List <ReminderObject>();
                RemindersStore        myStore = JsonConvert.DeserializeObject <RemindersStore>(
                    System.IO.File.ReadAllText(Environment.CurrentDirectory + "\\cache\\reminders.json"));
                foreach (var v in myStore.reminders)
                {
                    if (v.alarmTime < DateTime.Now)
                    {
                        toSend.Add(v);
                    }
                }

                foreach (var v in toSend)
                {
                    IGuild       server = findServer(v.server);
                    ITextChannel ch     = findTextChannel(server, v.channel);
                    string       output = "";
                    output += "**Reminder**\n\n";
                    output += v.message + "\n\n";
                    var eb = new EmbedBuilder();
                    eb.WithDescription(output);
                    eb.Color = Color.Orange;
                    ch.SendMessageAsync("", false, eb.Build());
                    myStore.reminders.Remove(v);
                }
                System.IO.File.WriteAllText(Environment.CurrentDirectory + "\\cache\\reminders.json", JsonConvert.SerializeObject(myStore));
            }
        }
Exemplo n.º 2
0
        public Task reminder([Remainder] string message)
        {
            string[] command = message.Split('&');
            if (command.Length != 2)
            {
                return(ReplyAsync("Invalid input."));
            }
            RemindersStore myStore;

            if (!System.IO.File.Exists(Environment.CurrentDirectory + "\\cache\\reminders.json"))
            {
                myStore           = new RemindersStore();
                myStore.reminders = new List <ReminderObject>();
            }
            else
            {
                myStore = JsonConvert.DeserializeObject <RemindersStore>(
                    System.IO.File.ReadAllText(Environment.CurrentDirectory + "\\cache\\reminders.json"));
            }

            ReminderObject newr = new ReminderObject();

            newr.message = command[0];
            try
            {
                DateTime t = DateTime.Parse(command[1]);
                if (t < DateTime.Now)
                {
                    return(ReplyAsync("Reminder time is in the past."));
                }
                newr.alarmTime = t;
            }
            catch (Exception ex)
            {
                return(ReplyAsync("Unrecognized time format."));
            }

            newr.channel = Context.Channel.Id;
            newr.server  = Context.Guild.Id;
            myStore.reminders.Add(newr);
            System.IO.File.WriteAllText(Environment.CurrentDirectory + "\\cache\\reminders.json", JsonConvert.SerializeObject(myStore));
            return(ReplyAsync("Reminder has been set."));
        }