parse method
Parse the raw
data received from the API into an instance of the type of this manager.
Implementation
@override
ApplicationCommand parse(Map<String, Object?> raw) {
return ApplicationCommand(
id: Snowflake.parse(raw['id']!),
manager: this,
type: ApplicationCommandType.parse(raw['type'] as int? ?? 1),
applicationId: Snowflake.parse(raw['application_id']!),
guildId: maybeParse(raw['guild_id'], Snowflake.parse),
name: raw['name'] as String,
nameLocalizations: maybeParse(
raw['name_localizations'],
(Map<String, Object?> raw) => raw.map(
(key, value) => MapEntry(Locale.parse(key), value as String),
),
),
description: raw['description'] as String,
descriptionLocalizations: maybeParse(
raw['description_localizations'],
(Map<String, Object?> raw) => raw.map(
(key, value) => MapEntry(Locale.parse(key), value as String),
),
),
options: maybeParseMany(raw['options'], parseApplicationCommandOption),
defaultMemberPermissions: maybeParse(raw['default_member_permissions'], (String raw) => Permissions(int.parse(raw))),
hasDmPermission: raw['dm_permission'] as bool?,
isNsfw: raw['nsfw'] as bool?,
integrationTypes: parseMany(raw['integration_types']! as List, ApplicationIntegrationType.parse),
contexts: maybeParseMany(raw['contexts'], InteractionContextType.parse),
version: Snowflake.parse(raw['version']!),
);
}