parseMessageCreate method

MessageCreateEvent parseMessageCreate(
  1. Map<String, Object?> raw
)

Parse a MessageCreateEvent from raw.

Implementation

MessageCreateEvent parseMessageCreate(Map<String, Object?> raw) {
  final guildId = maybeParse(raw['guild_id'], Snowflake.parse);
  final message = MessageManager(
    client.options.messageCacheConfig,
    client,
    channelId: Snowflake.parse(raw['channel_id']!),
  ).parse(raw);

  return MessageCreateEvent(
    gateway: this,
    guildId: guildId,
    member: maybeParse(
      raw['member'],
      (Map<String, Object?> raw) => PartialMember(
        id: message.author.id,
        manager: MemberManager(client.options.memberCacheConfig, client, guildId: guildId!),
      ),
    ),
    mentions: parseMany(raw['mentions'] as List<Object?>, client.users.parse),
    message: message,
  );
}