DeukBot4/DeukBot4/MessageHandlers/JokeHandling/JokeHandler.cs

32 lines
949 B
C#

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<string, IJokeController> Jokes = new Dictionary<string, IJokeController>();
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);
}
}
}
}