/// <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); }
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); }