parseMessageUpdate method

MessageUpdateEvent parseMessageUpdate(
  1. Map<String, Object?> raw
)

Parse a MessageUpdateEvent from raw.

Implementation

MessageUpdateEvent parseMessageUpdate(Map<String, Object?> raw) {
  final guildId = maybeParse(raw['guild_id'], Snowflake.parse);
  final channelId = Snowflake.parse(raw['channel_id']!);
  final id = Snowflake.parse(raw['id']!);

  return MessageUpdateEvent(
    gateway: this,
    guildId: guildId,
    member: maybeParse(
      raw['member'],
      (Map<String, Object?> _) => PartialMember(
        id: Snowflake.parse((raw['author'] as Map<String, Object?>)['id']!),
        manager: client.guilds[guildId!].members,
      ),
    ),
    mentions: maybeParseMany(raw['mentions'], client.users.parse),
    message: (client.channels[channelId] as PartialTextChannel).messages[id],
    oldMessage: (client.channels[channelId] as PartialTextChannel).messages.cache[id],
  );
}