public async Task StartAsync(CancellationToken cancellationToken) { _logger.LogInformation("Starting bot"); var commandPrefix = _options.CommandPrefix; var altCommandPrefix = _options.AlternateCommandPrefix; var commands = _client.UseCommandsNext(new CommandsNextConfiguration() { StringPrefixes = new[] { commandPrefix, altCommandPrefix }, Services = _serviceProvider, EnableDefaultHelp = false }); await _client.ConnectAsync(); commands.RegisterConverter(new GenericArgumentConverter <StatsCommandArgs, StatsCommandArgsParser>()); commands.RegisterCommands(Assembly.GetExecutingAssembly()); _client.SocketOpened += OnClientConnected; _client.SocketClosed += OnClientDisconnected; _client.Ready += OnClientReady; _commandEventHandler.RegisterHandlers(commands); _emoteEventHandler.RegisterHandlers(); }