D++ (DPP)
C++ Discord API Bot Library
dpp::activity Class Reference

An activity is a representation of what a user is doing. It might be a game, or a website, or a movie. Whatever. More...

#include <presence.h>

+ Collaboration diagram for dpp::activity:

Public Member Functions

std::string get_large_asset_url (uint16_t size=0, const image_type format=i_png) const
 Get the assets large image url if they have one, otherwise returns an empty string. In case of prefixed image IDs (mp:{image_id}) it returns an empty string. More...
 
std::string get_small_asset_url (uint16_t size=0, const image_type format=i_png) const
 Get the assets small image url if they have one, otherwise returns an empty string. In case of prefixed image IDs (mp:{image_id}) it returns an empty string. More...
 
 activity ()
 
 activity (const activity_type typ, const std::string &nam, const std::string &stat, const std::string &url_)
 Construct a new activity. More...
 

Public Attributes

std::string name
 Name of activity. e.g. "Fortnite", "Mr Boom's Firework Factory", etc. More...
 
std::string state
 State of activity or the custom user status. e.g. "Waiting in lobby". More...
 
std::string details
 What the player is currently doing. More...
 
activity_assets assets
 Images for the presence and their hover texts. More...
 
std::string url
 URL of activity (this is also named details). More...
 
std::vector< activity_buttonbuttons
 The custom buttons shown in the Rich Presence (max 2). More...
 
dpp::emoji emoji
 The emoji used for the custom status. More...
 
activity_party party
 Information of the current party if there is one. More...
 
activity_secrets secrets
 Secrets for rich presence joining and spectating. More...
 
activity_type type
 Activity type. More...
 
time_t created_at
 Time activity was created. More...
 
time_t start
 Start time. e.g. when game was started. More...
 
time_t end
 End time. e.g. for songs on spotify. More...
 
snowflake application_id
 Creating application. e.g. a linked account on the user's client. More...
 
uint8_t flags
 Flags bitmask from dpp::activity_flags. More...
 
bool is_instance
 Whether or not the activity is an instanced game session. More...
 

Detailed Description

An activity is a representation of what a user is doing. It might be a game, or a website, or a movie. Whatever.

Constructor & Destructor Documentation

◆ activity() [1/2]

dpp::activity::activity ( )

◆ activity() [2/2]

dpp::activity::activity ( const activity_type  typ,
const std::string &  nam,
const std::string &  stat,
const std::string &  url_ 
)

Construct a new activity.

Parameters
typactivity type
namName of the activity
statState of the activity
url_url of the activity, only works for certain sites, such as YouTube

Member Function Documentation

◆ get_large_asset_url()

std::string dpp::activity::get_large_asset_url ( uint16_t  size = 0,
const image_type  format = i_png 
) const

Get the assets large image url if they have one, otherwise returns an empty string. In case of prefixed image IDs (mp:{image_id}) it returns an empty string.

See also
https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-asset-image
Parameters
sizeThe size of the image in pixels. It can be any power of two between 16 and 4096, otherwise the default sized image is returned.
formatThe format to use for the avatar. It can be one of i_webp, i_jpg or i_png.
Returns
std::string image url or an empty string, if required attributes are missing or an invalid format was passed

◆ get_small_asset_url()

std::string dpp::activity::get_small_asset_url ( uint16_t  size = 0,
const image_type  format = i_png 
) const

Get the assets small image url if they have one, otherwise returns an empty string. In case of prefixed image IDs (mp:{image_id}) it returns an empty string.

See also
https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-asset-image
Parameters
sizeThe size of the image in pixels. It can be any power of two between 16 and 4096, otherwise the default sized image is returned.
formatThe format to use for the avatar. It can be one of i_webp, i_jpg or i_png.
Returns
std::string image url or an empty string, if required attributes are missing or an invalid format was passed

Member Data Documentation

◆ application_id

snowflake dpp::activity::application_id

Creating application. e.g. a linked account on the user's client.

◆ assets

activity_assets dpp::activity::assets

Images for the presence and their hover texts.

◆ buttons

std::vector<activity_button> dpp::activity::buttons

The custom buttons shown in the Rich Presence (max 2).

◆ created_at

time_t dpp::activity::created_at

Time activity was created.

◆ details

std::string dpp::activity::details

What the player is currently doing.

◆ emoji

dpp::emoji dpp::activity::emoji

The emoji used for the custom status.

◆ end

time_t dpp::activity::end

End time. e.g. for songs on spotify.

◆ flags

uint8_t dpp::activity::flags

Flags bitmask from dpp::activity_flags.

◆ is_instance

bool dpp::activity::is_instance

Whether or not the activity is an instanced game session.

◆ name

std::string dpp::activity::name

Name of activity. e.g. "Fortnite", "Mr Boom's Firework Factory", etc.

◆ party

activity_party dpp::activity::party

Information of the current party if there is one.

◆ secrets

activity_secrets dpp::activity::secrets

Secrets for rich presence joining and spectating.

◆ start

time_t dpp::activity::start

Start time. e.g. when game was started.

◆ state

std::string dpp::activity::state

State of activity or the custom user status. e.g. "Waiting in lobby".

◆ type

activity_type dpp::activity::type

Activity type.

◆ url

std::string dpp::activity::url

URL of activity (this is also named details).

Note
Only applicable for certain sites such a YouTube
D++ Library version 10.0.29D++ Library version 10.0.28D++ Library version 10.0.27D++ Library version 10.0.26D++ Library version 10.0.25D++ Library version 10.0.24D++ Library version 10.0.23D++ Library version 10.0.22D++ Library version 10.0.21D++ Library version 10.0.20D++ Library version 10.0.19D++ Library version 10.0.18D++ Library version 10.0.17D++ Library version 10.0.16D++ Library version 10.0.15D++ Library version 10.0.14D++ Library version 10.0.13D++ Library version 10.0.12D++ Library version 10.0.11D++ Library version 10.0.10D++ Library version 10.0.9D++ Library version 10.0.8D++ Library version 10.0.7D++ Library version 10.0.6D++ Library version 10.0.5D++ Library version 10.0.4D++ Library version 10.0.3D++ Library version 10.0.2D++ Library version 10.0.1D++ Library version 10.0.0D++ Library version 9.0.19D++ Library version 9.0.18D++ Library version 9.0.17D++ Library version 9.0.16D++ Library version 9.0.15D++ Library version 9.0.14D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0