public async Task StartAsync() { if (IsRunning) { return; } IsRunning = true; Source = new CancellationTokenSource(); try { await DiscordConnection.RunAsync(Source.Token, DiscordSocketConfig); } catch (OperationCanceledException ocex) { if (!Source.IsCancellationRequested || ocex.CancellationToken != Source.Token) { ExceptionCatched?.Invoke(this, ocex); } } catch (Exception ex) { ExceptionCatched?.Invoke(this, ex); } finally { IsRunning = false; } }
public async Task StartAsync() { _tokenSource = new CancellationTokenSource(); await DiscordConnection.RunAsync(_tokenSource.Token); }