public async Task RunAsync(CancellationToken tokenSource) { try { await _discord.InitializeAsync(); _discord.Client.Log += _discordLogger.Log; _discord.Client.ShardReady += OnClientReady; await _commandHandler.InstallCommandsAsync(); _joinHandler.InstallJoinHandler(); await _discord.Client.StartAsync(); await Task.Delay(-1, tokenSource); } catch (Exception ex) { if (_discord.Client != null) { await _discord.Client.LogoutAsync(); _discord.DisposeOfClient(); } _logger.Log(ex.Message, LogSeverity.SEVERITY_ERROR); } await Task.Delay(-1); }
public async Task RunAsync(CancellationToken token) { try { await _discord.InitializeAsync(); await _discord.Client.StartAsync(); await Task.Delay(-1, token); } catch (Exception) { if (_discord.Client != null) { await _discord.Client.LogoutAsync(); _discord.DisposeOfClient(); } } }