public async Task RunAsync() { var json = string.Empty; using (var fs = File.OpenRead("config.json")) { using (var sr = new StreamReader(fs, new UTF8Encoding(false))) { json = await sr.ReadToEndAsync().ConfigureAwait(false); } } var configJson = JsonConvert.DeserializeObject <ConfigJson>(json); var config = new DiscordConfiguration { Token = configJson.Token, TokenType = TokenType.Bot, AutoReconnect = true, LogLevel = LogLevel.Debug, UseInternalLogHandler = true }; Client = new DiscordClient(config); Client.Ready += OnClientReady; Client.UseInteractivity(new InteractivityConfiguration { Timeout = TimeSpan.FromMinutes(2) }); var commandsConfig = new CommandsNextConfiguration { StringPrefix = configJson.Prefix, EnableDms = true, EnableMentionPrefix = true, CaseSensitive = false, IgnoreExtraArguments = true }; Commands = Client.UseCommandsNext(commandsConfig); Commands.RegisterCommands <ApplicationCommands>(); Commands.RegisterCommands <TeamCommands>(); Commands.RegisterCommands <FunCommands>(); await ApplicationCommands.Init().ConfigureAwait(false); await Client.ConnectAsync(); await Task.Delay(-1); }