parseGuildVoiceChannel method
Implementation
GuildVoiceChannel parseGuildVoiceChannel(Map<String, Object?> raw, {Snowflake? guildId}) {
assert(raw['type'] == ChannelType.guildVoice.value, 'Invalid type for GuildVoiceChannel');
return GuildVoiceChannel(
id: Snowflake.parse(raw['id']!),
manager: this,
bitrate: raw['bitrate'] as int,
guildId: guildId ?? Snowflake.parse(raw['guild_id']!),
isNsfw: raw['nsfw'] as bool? ?? false,
lastMessageId: maybeParse(raw['last_message_id'], Snowflake.parse),
lastPinTimestamp: maybeParse(raw['last_pin_timestamp'], DateTime.parse),
name: raw['name'] as String,
parentId: maybeParse(raw['parent_id'], Snowflake.parse),
permissionOverwrites: maybeParseMany(raw['permission_overwrites'], parsePermissionOverwrite) ?? [],
position: raw['position'] as int,
rateLimitPerUser: maybeParse<Duration?, int>(raw['rate_limit_per_user'], (value) => value == 0 ? null : Duration(seconds: value)),
rtcRegion: raw['rtc_region'] as String?,
userLimit: raw['user_limit'] == 0 ? null : raw['user_limit'] as int?,
videoQualityMode: maybeParse(raw['video_quality_mode'], VideoQualityMode.parse) ?? VideoQualityMode.auto,
);
}