32 lines
949 B
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |