parse method

  1. @override
Webhook parse(
  1. Map<String, Object?> raw
)
override

Parse the raw data received from the API into an instance of the type of this manager.

Implementation

@override
Webhook parse(Map<String, Object?> raw) {
  return Webhook(
    id: Snowflake.parse(raw['id']!),
    manager: this,
    type: WebhookType.parse(raw['type'] as int),
    guildId: maybeParse(raw['guild_id'], Snowflake.parse),
    channelId: maybeParse(raw['channel_id'], Snowflake.parse),
    user: maybeParse(raw['user'], client.users.parse),
    name: raw['name'] as String?,
    avatarHash: raw['avatar'] as String?,
    token: raw['token'] as String?,
    applicationId: maybeParse(raw['application_id'], Snowflake.parse),
    sourceGuild: maybeParse(
      raw['source_guild'],
      (Map<String, Object?> raw) => PartialGuild(
        id: Snowflake.parse(raw['id']!),
        manager: client.guilds,
      ),
    ),
    sourceChannel: maybeParse(
      raw['source_channel'],
      (Map<String, Object?> raw) => PartialChannel(
        id: Snowflake.parse(raw['id']!),
        manager: client.channels,
      ),
    ),
    url: maybeParse(raw['url'], Uri.parse),
  );
}