using Discord; using Discord.Commands; using Discord.WebSocket; [Module] public class ModuleA { private DiscordSocketClient client; private ISelfUser self; public ModuleA(IDiscordClient c, ISelfUser s) { if (!(c is DiscordSocketClient)) throw new InvalidOperationException("This module requires a DiscordSocketClient"); client = c as DiscordSocketClient; self = s; } } public class ModuleB { private IDiscordClient client; private CommandService commands; public ModuleB(CommandService c, IDependencyMap m) { commands = c; client = m.Get<IDiscordClient>(); } }