private void raid_list_impl(Context ctx) { //Generate the list of raids var raids = RaidManager.EnumerateRaids() .Select(r => RaidManager.GetRaidData(r)) .Where(r => r.HasValue).Select(r => r.Value) .ToList(); //Check that it's not empty if (raids.Count > 0) { //Go through each raid raids.ForEach(r => { //Display the raid Bot.GetBotInstance() .SendSuccessMessage(ctx.message.Channel, r.description, $"Roster size: {r.roster.Distinct().Count()}", $"ID: {r.raid_id} | Local time:", DateTimeOffset.FromUnixTimeSeconds(r.timestamp) ); }); } else { //No raids Bot.GetBotInstance() .SendSuccessMessage(ctx.message.Channel, "Result:", $"None."); } }
public void raid_delete(Context ctx, uint id) { //Determine if a raid with this ID exists var exists = RaidManager.EnumerateRaids().Any(r => r.raid_id == id); Precondition.Assert(exists, $"No raid with that id ({id})."); //Pass on to the implementation this.raid_delete_impl(ctx, (int)id); }
public void raid_add(Context ctx, uint id, [RegexParameter(@"[\S\s]+")] string name, [RegexParameter(@"[\S\s]+")] string roles) { //Determine if a raid with this ID exists var exists = RaidManager.EnumerateRaids().Any(r => r.raid_id == id); Precondition.Assert(exists, $"No raid with that id ({id})."); //Pass on to the implementation this.raid_add_impl(ctx, (int)id, name.Trim(), roles); }