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.");
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }