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(); }