Science Events
Events are actions the User does that are collected by Discord. More information on tracking and collection here.
This gives a non-thorough list of Event objects.
If an event "contains properties" it is assumed that the Event object contains
an extra properties
field pointing to a Properties object.
Always assume TrackingProperties
is included.
Properties object
Fields are inconsistent and optional across events. Given *Property "objects" are fields that may or may not be present in a Properties object.
TrackingProperties
field | type | description |
---|---|---|
client_send_timestamp | unix timestamp | assumed to be when client sent event |
client_track_timestamp | unix timestamp | assumed to be when the event happened |
client_uuid | base64 of a uuid? | client identifier |
ChannelProperties
field | type | description |
---|---|---|
channel_hidden | boolean | if the channel is muted (???) |
channel_id | snowflake | channel the user is in |
channel_member_perms | permission bit set (integer) | the user permissions in the channel |
channel_size_total | integer | ??? |
channel_type | integer, channel type | channel type (text, voice, etc) |
GuildProperties
field | type | description |
---|---|---|
guild_id | snowflake | guild identifier |
guild_is_vip | boolean | if the guild is a VIP guild |
guild_member_num_roles | integer | how many roles the user has in the guild |
guild_member_perms | permission bit set (integer) | the user permissions in the guild |
guild_num_channels | integer | amount of channels in the guild |
guild_num_roles | integer | amount of roles in the guild |
guild_num_text_channels | integer | amount of text channels in the guild |
guild_num_voice_channels | integer | amount of voice channels in the guild |
guild_size_total | integer | amount of members in the guild |
ListProperties
field | type | description |
---|---|---|
num_users_visible | integer | amount of users the current user saw in the list |
num_users_visible_with_mobile_indicator | integer | self explanatory |
ActivityProperties
field | type | description |
---|---|---|
game_ids | list of snowflakes | game ids |
load_id | uuid as its formal representation (incl. hyphens) | ??? |
num_cards | integer | number of game cards in activity |
num_cards_game_news | integer | number of game cards showing game news |
num_cards_game_playable | integer | number of cards user can play |
num_cards_visible | integer | number of cards user views when looking at activity |
num_game_parties | integer | ??? |
num_game_parties_collapsed | integer | ??? |
num_game_parties_recently_played | integer | ??? |
num_game_parties_rich_presence | integer | ??? |
num_game_parties_solo | integer | ??? |
num_game_parties_voice | integer | ??? |
num_launcher_applications | integer | ??? |
num_users_subscribed | integer | ??? |
ActivityCloseProperties
field | type | description |
---|---|---|
game_ids_viewed | list of snowflakes | game ids the user viewed while in activity |
load_id | uuid as its formal representation (incl. hyphens) | ??? |
num_cards_total | integer | number of game cards in activity |
num_cards_viewed | integer | number of cards user saw while in activity |
num_games_total | integer | number of games seen in activity |
seconds_spent | integer | amount of seconds spent in activity view |
store_application_ids_viewed | list of snowflakes | application ids the user viewed |
store_sku_ids_viewed | list of snowflakes | skus the user viewed |
- SKUs can be thought of as discord Store entries (Stock Keeping Unit).
WindowProperties
field | type | description |
---|---|---|
window_height | integer | client window height in pixels |
window_width | integer | client window width in pixels |
Event types
member_list_viewed
Sent when the currently authenticated User sees a newly generated member list in a guild. Contains ChannelProperties, GuildProperties and ListProperties.
ack_messages
Sent when the current User acknowledged the messages in a channel. Contains ChannelProperties, optional GuildProperties.
dm_list_viewed
Sent when the current User views the Direct Messages they currently have. Contains ChannelProperties (for the current opened DM) and ListProperties.
channel_opened
Sent when the current User opens a channel. Can be a Guild Text Channel or a DM channel. Contains ChannelProperties.
af_loaded
Related to client startup? Definitely related to the Activity view. Contains ActivityProperties, WindowProperties.
af_exited
Sent when the user leaves the Activity view. Contains ActivityCloseProperties.
open_popout
Sent when the user opens any kind of popout (such as when adding a new member to a group DM). Contains ChannelProperties, plus some fields:
field | type | description |
---|---|---|
is_friend | boolean | if the dm you're on represents a friend dm |
source | string | source of the popout, known value is "DM" |
type | string | type of the popout, known value is "Add Friends to DM" |