parseMessageReactionAdd method

MessageReactionAddEvent parseMessageReactionAdd(
  1. Map<String, Object?> raw
)

Parse a MessageReactionAddEvent from raw.

Implementation

MessageReactionAddEvent parseMessageReactionAdd(Map<String, Object?> raw) {
  final guildId = maybeParse(raw['guild_id'], Snowflake.parse);
  final userId = Snowflake.parse(raw['user_id']!);

  return MessageReactionAddEvent(
    gateway: this,
    userId: userId,
    channelId: Snowflake.parse(raw['channel_id']!),
    messageId: Snowflake.parse(raw['message_id']!),
    guildId: guildId,
    // Don't use a tearoff so we don't evaluate `guildId!` unless member is set.
    member: maybeParse(raw['member'], (Map<String, Object?> raw) => client.guilds[guildId!].members.parse(raw, userId: userId)),
    emoji: client.guilds[Snowflake.zero].emojis.parse(raw['emoji'] as Map<String, Object?>),
    messageAuthorId: maybeParse(raw['message_author_id'], Snowflake.parse),
  );
}