Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        /// <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))