Discord splits the user's profile and settings in 2, which is even visible from the UI. The profile is basically the user's name, email, etc., whilst settings are things like message scanning, who can add you, and so on.
Avatar = Image.FromFile("avatar.png"),
Password ="ihateniggers123"// password must be provided when changing username, email, discriminator or password
"Discriminator" is the technical term for the 4 digit number after the #.
Like presences, voice states are only available through gateway clients. Anarchy provides several methods to serve you voice states through the cache, although the OnVoiceStateUpdated event is also available.
DiscordVoiceStateContainer userStates = client.GetVoiceStates(42069);// for users
// These 2 only return voice states where the user is connected to the object. The previous does not
IReadOnlyList<DiscordVoiceState> guildStates = client.GetGuildVoiceStates(44492);// for guilds
IReadOnlyList<DiscordVoiceState> channelStates = client.GetChannelVoiceStates(44493);// for channels
This class exists because bots can be connected to multiple channels at the same time and users can be muted even tho they're not connected to the channel. It's a way of neatly packing everything together.
As said previously, the OnVoiceStateUpdated event can be used to detect voice state updates. Here's an example of how a listener could look.