public DiscordServer GetCurrentState()
        {
            if (_client.ConnectionState != ConnectionState.Connected)
            {
                return(null); //in case we get an api  call before the client is connected.
            }
            var server = new DiscordServer();

            foreach (var voiceChannel in _client.GetGuild(377533648620093441).VoiceChannels.OrderBy(x => x.Position))
            {
                var channel = new DiscordVoiceChannel {
                    Id = voiceChannel.Id.ToString(), Name = voiceChannel.Name
                };

                foreach (var channelUser in voiceChannel.Users)
                {
                    channel.Users.Add(new DiscordUser
                    {
                        Id        = channelUser.Id.ToString(),
                        Username  = !string.IsNullOrEmpty(channelUser.Nickname) ? channelUser.Nickname : channelUser.Username,
                        AvatarUrl = channelUser.GetAvatarUrl(),
                        Deaf      = channelUser.IsDeafened,
                        Muted     = channelUser.IsMuted,
                        SelfDeaf  = channelUser.IsSelfDeafened,
                        SelfMuted = channelUser.IsSelfMuted,
                        Bot       = channelUser.IsBot,
                        ChannelId = voiceChannel.Id.ToString()
                    });
                }
                server.VoiceChannels.Add(channel);
            }

            return(server);
        }
    private void ClientStarted(DiscordClient client, string message, DiscordError error)
    {
        if (error.failed)
        {
            Debug.LogError("Start failed: " + error.message);
            return;
        }

        Debug.Log("Client started.");
        channel = client.servers.Where(x => x.name == servername).FirstOrDefault().voicechannels.Where(x => x.name == channelname).FirstOrDefault();
    }