public static IServiceCollection WireUpDiscordFramework(this IServiceCollection services, string cmdPrefix) { services.AddSingleton <DiscordBotFramework>(s => { var host = s.GetRequiredService <IHost>(); var config = s.GetRequiredService <IConfiguration>(); var logger = s.GetRequiredService <ILogger <DiscordBotFramework> >(); var bot = new DiscordBotFramework(host, config, logger, cmdPrefix); return(bot); }); services.AddSingleton <CommandService>(s => { var bot = s.GetRequiredService <DiscordBotFramework>(); return(bot.Commands); }) .AddSingleton <GlobalPreferences>(s => { var bot = s.GetRequiredService <DiscordBotFramework>(); return(bot.Preferences); }); return(services); }
public ExtendedCommandContext(IDiscordClient client, IUserMessage message, DiscordBotFramework framework) : base(client, message) { FrameworkInstance = framework; if (Guild != null) { GuildSpecificPreferences = framework.Preferences.ServerSpecific.GetFor(Guild.Id); IsGuild = true; } }