Example #1
0
        /// <summary>
        /// Job for sending a discord message ten minutes before a moon is about to pop.
        /// </summary>
        /// <param name="job"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        Task MoonPoppedJob(MoonJob job, MethodContext context)
        {
            SystemMoon moon = this.MoonParser.Parse(job.Moon.Split(' '));

            if (TryGetMoon(moon, out MoonComposition comp))
            {
                return(LogModule.LogMessage(Config.MoonPingMessage, Config.MoonPingChannel, embed: comp.PrettyMoon()));
            }

            return(Task.CompletedTask);
        }
Example #2
0
        public async Task MoonList()
        {
            StringBuilder reply = new StringBuilder();

            reply.Append("Scheduled moons:\n");

            List <MoonJob> jobs = await JobModule.GetJobsAsync <MoonJob>();

            for (int i = 0; i < jobs.Count; i++)
            {
                MoonJob  job      = jobs[i];
                DateTime callTime = JobModule.GetNextCall(job);

                reply.Append($"	{i}: {job.Moon} will pop on {callTime.ToString("dd/MM HH:mm:ss")}\n");
            }

            if (jobs.Count <= 0)
            {
                await RespondAsync("No moons listed.", false, false);
            }

            await RespondAsync($"```{reply}```", false, false);
        }