Ejemplo n.º 1
0
 private async Task Client_UserVoiceStateUpdated(SocketUser arg1, SocketVoiceState arg2, SocketVoiceState arg3)
 {
     if (!(arg1 is SocketGuildUser user))
     {
         return;
     }
     if (TTTGame.IsTTTVoice(arg2.VoiceChannel) || TTTGame.IsTTTVoice(arg3.VoiceChannel))
     {
         return;
     }
     if (user.IsBot)
     {
         return;
     }
     if (arg3.VoiceChannel == null)
     {
         await UserLeftVc(user, arg2);
     }
     else if (arg2.VoiceChannel == null)
     {
         await UserJoinedVc(user, arg3);
     }
     else if (arg2.VoiceChannel.Id != arg3.VoiceChannel.Id)
     {
         await UserMovedVc(user, arg2, arg3);
     }
 }
Ejemplo n.º 2
0
        private async Task Client_UserVoiceStateUpdated(SocketUser arg1, SocketVoiceState arg2, SocketVoiceState arg3)
        {
            if (arg1.IsBot || !(arg1 is SocketGuildUser user))
            {
                return;
            }
            if (!(TTTGame.IsTTTVoice(arg2.VoiceChannel) || TTTGame.IsTTTVoice(arg3.VoiceChannel)))
            {
                return;
            }
            if (!TTTGame.IsTTTVoice(arg3.VoiceChannel))
            {
                return; // left the channel.
            }
            var game = Games.FirstOrDefault(x => x.Contains(arg1));

            if (game == null)
            {
                game = Games.FirstOrDefault(x => x.In(arg3.VoiceChannel.Guild));
            }
            try
            {
                await Handle(game, user, arg2.VoiceChannel, arg3.VoiceChannel);
            } catch (Exception ex)
            {
                Program.LogMsg("VCTTT", ex);
            } finally
            {
                await user.ModifyAsync(x => x.Channel = arg2.VoiceChannel);
            }
        }
        async Task Client_UserVoiceStateUpdated(Discord.WebSocket.SocketUser arg1, Discord.WebSocket.SocketVoiceState arg2, Discord.WebSocket.SocketVoiceState arg3)
        {
            if (arg1.IsBot)
            {
                return;
            }
            if (TTTGame.IsTTTVoice(arg2.VoiceChannel) || TTTGame.IsTTTVoice(arg3.VoiceChannel))
            {
                return;
            }
            var thread = new Thread(handle);

            thread.Start(new passing()
            {
                arg1 = arg1,
                arg2 = arg2,
                arg3 = arg3
            });
        }