Beispiel #1
0
 private async Task OnVoiceServerUpdated(VoiceServerUpdateEventArgs e)
 {
     if (VoiceServerUpdated != null)
     {
         await VoiceServerUpdated(e);
     }
 }
Beispiel #2
0
        private static async Task Discord_VoiceServerUpdated(VoiceServerUpdateEventArgs e)
        {
#if DEBUG
            var ch = await DiscordClient.GetDefaultChannelAsync();

            await ch.SendMessageAsync("VoiceServerUpdated");
#endif
        }
        /// <inheritdoc/>
        /// <exception cref="ObjectDisposedException">thrown if the instance is disposed</exception>
        private Task OnVoiceServerUpdated(VoiceServerUpdateEventArgs voiceServer)
        {
            EnsureNotDisposed();

            var args = new VoiceServer(voiceServer.Guild.Id, voiceServer.GetVoiceToken(), voiceServer.Endpoint);

            return(VoiceServerUpdated.InvokeAsync(this, args));
        }
Beispiel #4
0
        private Task Client_VoiceServerUpdate(VoiceServerUpdateEventArgs e)
        {
            var gid = e.GuildID;

            if (this.VoiceServerUpdates.ContainsKey(gid))
            {
                this.VoiceServerUpdates[gid].SetResult(e);
            }

            return(Task.Delay(0));
        }
Beispiel #5
0
        private Task Client_VoiceServerUpdate(VoiceServerUpdateEventArgs e)
        {
            var gld = e.Guild;

            if (gld == null)
            {
                return(Task.Delay(0));
            }

            if (this.VoiceServerUpdates.ContainsKey(gld.Id))
            {
                this.VoiceServerUpdates[gld.Id].SetResult(e);
            }

            return(Task.Delay(0));
        }
        private async Task Client_VoiceServerUpdate(VoiceServerUpdateEventArgs e)
        {
            var gld = e.Guild;

            if (gld == null)
            {
                return;
            }

            if (this.ActiveConnections.TryGetValue(e.Guild.Id, out var vnc))
            {
                vnc.ServerData = new VoiceServerUpdatePayload
                {
                    Endpoint = e.Endpoint,
                    GuildId  = e.Guild.Id,
                    Token    = e.VoiceToken
                };

                var eps = e.Endpoint;
                var epi = eps.LastIndexOf(':');
                var eph = string.Empty;
                var epp = 443;
                if (epi != -1)
                {
                    eph = eps.Substring(0, epi);
                    epp = int.Parse(eps.Substring(epi + 1));
                }
                else
                {
                    eph = eps;
                }
                vnc.WebSocketEndpoint = new ConnectionEndpoint {
                    Hostname = eph, Port = epp
                };

                vnc.Resume = false;
                await vnc.ReconnectAsync().ConfigureAwait(false);
            }

            if (this.VoiceServerUpdates.ContainsKey(gld.Id))
            {
                if (this.VoiceServerUpdates.TryRemove(gld.Id, out var xe))
                {
                    xe.SetResult(e);
                }
            }
        }
        private async Task Discord_VoiceServerUpdated(VoiceServerUpdateEventArgs e)
        {
            var gld = e.Guild;

            if (gld == null)
            {
                return;
            }

            if (this.ConnectedGuilds.TryGetValue(e.Guild.Id, out var lvlgc))
            {
                var lvlp = new LavalinkVoiceUpdate(lvlgc.VoiceStateUpdate, e);
                await this.WebSocket.SendMessageAsync(JsonConvert.SerializeObject(lvlp)).ConfigureAwait(false);
            }

            if (this.VoiceServerUpdates.TryRemove(gld.Id, out var xe))
            {
                xe.SetResult(e);
            }
        }
        private Task Discord_VoiceServerUpdated(DiscordClient client, VoiceServerUpdateEventArgs e)
        {
            var gld = e.Guild;

            if (gld == null)
            {
                return(Task.CompletedTask);
            }

            if (this._connectedGuilds.TryGetValue(e.Guild.Id, out var lvlgc))
            {
                var lvlp = new LavalinkVoiceUpdate(lvlgc.VoiceStateUpdate, e);
                _ = Task.Run(() => this.WsSendAsync(JsonConvert.SerializeObject(lvlp)));
            }

            if (this.VoiceServerUpdates.TryRemove(gld.Id, out var xe))
            {
                xe.SetResult(e);
            }

            return(Task.CompletedTask);
        }
        private Task Discord_VoiceServerUpdated(VoiceServerUpdateEventArgs e)
        {
            var gld = e.Guild;

            if (gld == null)
            {
                return(Task.Delay(0));
            }

            if (this.ConnectedGuilds.TryGetValue(e.Guild.Id, out var lvlgc))
            {
                var lvlp = new LavalinkVoiceUpdate(lvlgc.VoiceStateUpdate, e);
                this.WebSocket.SendMessage(JsonConvert.SerializeObject(lvlp));
            }

            if (this.VoiceServerUpdates.ContainsKey(gld.Id))
            {
                this.VoiceServerUpdates.TryRemove(gld.Id, out var xe);
                xe.SetResult(e);
            }

            return(Task.Delay(0));
        }
Beispiel #10
0
 private Task VoiceServerUpdated(VoiceServerUpdateEventArgs e)
 {
     /* This would kill my bot */
     return(Task.CompletedTask);
 }
Beispiel #11
0
 private Task Event_VoiceServerUpdated(DiscordClient d, VoiceServerUpdateEventArgs e)
 {
     d.Logger.LogDebug(BotEventId, "Event_VoiceServerUpdated.");
     return(Task.CompletedTask);
 }
Beispiel #12
0
        public static async Task VoiceServerUpdateEventHandlerAsync(TheGodfatherShard shard, VoiceServerUpdateEventArgs e)
        {
            DiscordChannel logchn = shard.SharedData.GetLogChannelForGuild(shard.Client, e.Guild);

            if (logchn == null)
            {
                return;
            }

            DiscordEmbedBuilder emb = FormEmbedBuilder(EventOrigin.Guild, "Voice server updated");

            emb.AddField("Endpoint", Formatter.Bold(e.Endpoint));

            await logchn.SendMessageAsync(embed : emb.Build());
        }
        /// <inheritdoc/>
        /// <exception cref="ObjectDisposedException">thrown if the instance is disposed</exception>
        protected Task OnVoiceServerUpdated(DiscordClient _, VoiceServerUpdateEventArgs voiceServer)
        {
            var args = new VoiceServer(voiceServer.Guild.Id, voiceServer.GetVoiceToken(), voiceServer.Endpoint);

            return(VoiceServerUpdated.InvokeAsync(this, args));
        }
Beispiel #14
0
 /// <summary>
 ///     Gets the "VoiceToken" property value of the specified <paramref name="voiceServerUpdateEventArgs"/>.
 /// </summary>
 /// <param name="voiceServerUpdateEventArgs">the instance</param>
 /// <returns>the "VoiceToken" value</returns>
 public static string GetVoiceToken(this VoiceServerUpdateEventArgs voiceServerUpdateEventArgs)
 => (string)_voiceTokenProperty.GetValue(voiceServerUpdateEventArgs);
Beispiel #15
0
 private Task Voice_VoiceServerUpdate(VoiceServerUpdateEventArgs e)
 {
     e.Client.DebugLogger.LogMessage(LogLevel.Info, this.Bot.LogName, $"Voice server in {e.Guild.Name} changed to {e.Endpoint}", DateTime.Now);
     return(Task.CompletedTask);
 }
Beispiel #16
0
 internal LavalinkVoiceServerUpdate(VoiceServerUpdateEventArgs vsu)
 {
     this.Token    = vsu.VoiceToken;
     this.GuildId  = vsu.Guild.Id.ToString(CultureInfo.InvariantCulture);
     this.Endpoint = vsu.Endpoint;
 }
Beispiel #17
0
 public LavalinkVoiceUpdate(VoiceStateUpdateEventArgs vstu, VoiceServerUpdateEventArgs vsrvu)
     : base("voiceUpdate", vstu.Guild.Id.ToString(CultureInfo.InvariantCulture))
 {
     this.SessionId = vstu.SessionId;
     this.Event     = new LavalinkVoiceServerUpdate(vsrvu);
 }
Beispiel #18
0
 private Task Client_VoiceServerUpdated(VoiceServerUpdateEventArgs e)
 {
     e.Client.DebugLogger.LogMessage(LogLevel.Info, "BotApp",
                                     $"{e.Guild.Name} updated voice server to {e.Endpoint}", DateTime.Now);
     return(Task.CompletedTask);
 }