type snowflake = abstract type user = abstract type member = abstract type partial_member = abstract type attachment = abstract type embed = abstract type reaction = abstract type t = { id: snowflake; author: user; channel_id: snowflake; ?member: partial_member option; ?guild_id: snowflake option; content: string; timestamp: string; ?edited_timestamp: string option; tts: bool; mention_everyone: bool; mentions: snowflake list; ?role_mentions: snowflake list option; attachments: attachment list; embeds: embed list; ?reactions: snowflake list option; ?nonce: snowflake option; pinned: bool; ?webhook_id: snowflake option; kind : int; }