public AudioClient(AudioService service, int clientId, Server server, GatewaySocket gatewaySocket, Logger logger) { Service = service; Id = clientId; GatewaySocket = gatewaySocket; Logger = logger; _connectionLock = new AsyncLock(); _serializer = new JsonSerializer(); _serializer.DateTimeZoneHandling = DateTimeZoneHandling.Utc; _serializer.Error += (s, e) => { e.ErrorContext.Handled = true; Logger.Error("Serialization Failed", e.ErrorContext.Error); }; GatewaySocket.ReceivedDispatch += OnReceivedDispatch; VoiceSocket = new VoiceWebSocket(service.Client, this, _serializer, logger); VoiceSocket.Server = server; /*_voiceSocket.Connected += (s, e) => RaiseVoiceConnected(); _voiceSocket.Disconnected += async (s, e) => { _voiceSocket.CurrentServerId; if (voiceServerId != null) _gatewaySocket.SendLeaveVoice(voiceServerId.Value); await _voiceSocket.Disconnect().ConfigureAwait(false); RaiseVoiceDisconnected(socket.CurrentServerId.Value, e); if (e.WasUnexpected) await socket.Reconnect().ConfigureAwait(false); };*/ /*_voiceSocket.IsSpeaking += (s, e) => { if (_voiceSocket.State == WebSocketState.Connected) { var user = _users[e.UserId, socket.CurrentServerId]; bool value = e.IsSpeaking; if (user.IsSpeaking != value) { user.IsSpeaking = value; var channel = _channels[_voiceSocket.CurrentChannelId]; RaiseUserIsSpeaking(user, channel, value); if (Config.TrackActivity) user.UpdateActivity(); } } };*/ /*this.Connected += (s, e) => { _voiceSocket.ParentCancelToken = _cancelToken; };*/ }
public SimpleAudioClient(AudioService service, int id, Logger logger) : base(service, id, null, service.Client.GatewaySocket, logger) { _connectionLock = new AsyncLock(); }