private async Task OnDisconnected(Exception exception) { foreach (var player in _players.Values) { await player.DisposeAsync().ConfigureAwait(false); } _players.Clear(); _log?.Invoke(VictoriaExtensions.LogMessage(LogSeverity.Error, "WebSocket disconnected! Disposing all connected players.", exception)); }
private async Task OnShardDisconnected(Exception exception, DiscordSocketClient socketClient) { foreach (var guild in socketClient.Guilds) { if (!_players.TryRemove(guild.Id, out var player)) { continue; } await player.DisposeAsync().ConfigureAwait(false); } _players.Clear(); _log?.Invoke(VictoriaExtensions.LogMessage(LogSeverity.Error, "Shards disconnecting. Disposing all connected players.", exception)); }
/// <summary> /// Returns the current status of route planner. /// </summary> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> public static async Task <RouteStatus> GetStatusAsync(LavaConfig lavaConfig) { if (lavaConfig == null) { throw new ArgumentNullException(nameof(lavaConfig)); } var requestMessage = new HttpRequestMessage(HttpMethod.Get, $"{lavaConfig.HttpEndpoint}/routeplanner/status") { Headers = { { "Authorization", lavaConfig.Authorization } } }; var routeStatus = await VictoriaExtensions.ReadAsJsonAsync <RouteStatus>(requestMessage); if (!routeStatus.Equals(default))