parseGuildVoiceChannel method

GuildVoiceChannel parseGuildVoiceChannel(
  1. Map<String, Object?> raw,
  2. {Snowflake? guildId}
)

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