using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Discord.WebSocket; namespace DeukBot4.MessageHandlers.JokeHandling { public static class JokeHandler { public static readonly Dictionary Jokes = new Dictionary(); public static void Initialize() { var jokes = typeof(JokeHandler).Assembly.GetTypes() .Where(x => typeof(IJokeController).IsAssignableFrom(x) && !x.IsInterface); foreach (var joke in jokes) { var c = (IJokeController)Activator.CreateInstance(joke); Jokes.Add(c.Id, c); } } public static async Task RunJokes(SocketMessage message) { foreach (var jokeController in Jokes) { jokeController.Value.Run(message); } } } }