parseVoiceState method
Parse a VoiceState from a Map.
Implementation
VoiceState parseVoiceState(Map<String, Object?> raw, {Snowflake? guildId}) {
guildId ??= maybeParse(raw['guild_id'], Snowflake.parse);
final userId = Snowflake.parse(raw['user_id']!);
return VoiceState(
manager: this,
guildId: guildId,
channelId: maybeParse(raw['channel_id'], Snowflake.parse),
userId: userId,
member: maybeParse(raw['member'], (Map<String, Object?> raw) => client.guilds[guildId ?? Snowflake.zero].members.parse(raw, userId: userId)),
sessionId: raw['session_id'] as String,
isServerDeafened: raw['deaf'] as bool,
isServerMuted: raw['mute'] as bool,
isSelfDeafened: raw['self_deaf'] as bool,
isSelfMuted: raw['self_mute'] as bool,
isStreaming: raw['self_stream'] as bool? ?? false,
isVideoEnabled: raw['self_video'] as bool,
isSuppressed: raw['suppress'] as bool,
requestedToSpeakAt: maybeParse(raw['request_to_speak_timestamp'], DateTime.parse),
);
}