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

Represents an application command, created by your bot either globally, or on a guild. More...

#include <slashcommand.h>

+ Inheritance diagram for dpp::slashcommand:
+ Collaboration diagram for dpp::slashcommand:

Public Member Functions

 slashcommand ()
 Construct a new slashcommand object. More...
 
 ~slashcommand ()
 Destroy the slashcommand object. More...
 
slashcommandadd_option (const command_option &o)
 Add an option (parameter) More...
 
slashcommandset_type (slashcommand_contextmenu_type _type)
 Set the type of the slash command (only for context menu entries) More...
 
slashcommandset_name (const std::string &n)
 Set the name of the command. More...
 
slashcommandset_description (const std::string &d)
 Set the description of the command. More...
 
slashcommandset_application_id (snowflake i)
 Set the application id of the command. More...
 
slashcommandadd_permission (const command_permission &p)
 Adds a permission to the command. More...
 
slashcommanddisable_default_permissions ()
 Disable default permissions, command will be unusable unless permissions are overriden with add_permission and dpp::guild_command_edit_permissions. More...
 
slashcommandfill_from_json (nlohmann::json *j)
 Fill object properties from JSON. More...
 
std::string build_json (bool with_id=false) const
 Build a json string for this object. More...
 

Public Attributes

snowflake application_id
 Application id (usually matches your bots id) More...
 
slashcommand_contextmenu_type type
 Context menu type, defaults to none. More...
 
std::string name
 Command name (1-32 chars) More...
 
std::string description
 Command description (1-100 chars) More...
 
std::vector< command_optionoptions
 Command options (parameters) More...
 
bool default_permission
 whether the command is enabled by default when the app is added to a guild More...
 
std::vector< command_permissionpermissions
 command permissions More...
 
snowflake id
 

Detailed Description

Represents an application command, created by your bot either globally, or on a guild.

Constructor & Destructor Documentation

◆ slashcommand()

dpp::slashcommand::slashcommand ( )

Construct a new slashcommand object.

◆ ~slashcommand()

dpp::slashcommand::~slashcommand ( )

Destroy the slashcommand object.

Member Function Documentation

◆ add_option()

slashcommand & dpp::slashcommand::add_option ( const command_option o)

Add an option (parameter)

Parameters
ooption (parameter) to add
Returns
slashcommand& reference to self for chaining of calls

◆ add_permission()

slashcommand & dpp::slashcommand::add_permission ( const command_permission p)

Adds a permission to the command.

Parameters
ppermission to add
Returns
slashcommand& reference to self for chaining of calls

◆ build_json()

std::string dpp::slashcommand::build_json ( bool  with_id = false) const

Build a json string for this object.

Parameters
with_idTrue if to include the ID in the JSON
Returns
std::string JSON string

◆ disable_default_permissions()

slashcommand & dpp::slashcommand::disable_default_permissions ( )

Disable default permissions, command will be unusable unless permissions are overriden with add_permission and dpp::guild_command_edit_permissions.

Returns
slashcommand& reference to self for chaining of calls

◆ fill_from_json()

slashcommand & dpp::slashcommand::fill_from_json ( nlohmann::json j)

Fill object properties from JSON.

Parameters
jJSON to fill from
Returns
slashcommand& Reference to self

◆ set_application_id()

slashcommand & dpp::slashcommand::set_application_id ( snowflake  i)

Set the application id of the command.

Parameters
iapplication id
Returns
slashcommand& reference to self for chaining of calls

◆ set_description()

slashcommand & dpp::slashcommand::set_description ( const std::string &  d)

Set the description of the command.

Parameters
ddescription
Returns
slashcommand& reference to self for chaining of calls

◆ set_name()

slashcommand & dpp::slashcommand::set_name ( const std::string &  n)

Set the name of the command.

Parameters
nname of command
Returns
slashcommand& reference to self for chaining of calls

◆ set_type()

slashcommand & dpp::slashcommand::set_type ( slashcommand_contextmenu_type  _type)

Set the type of the slash command (only for context menu entries)

Parameters
_typeType of context menu entry this command represents
Returns
slashcommand& reference to self for chaining of calls

Member Data Documentation

◆ application_id

snowflake dpp::slashcommand::application_id

Application id (usually matches your bots id)

◆ default_permission

bool dpp::slashcommand::default_permission

whether the command is enabled by default when the app is added to a guild

◆ description

std::string dpp::slashcommand::description

Command description (1-100 chars)

◆ id

snowflake dpp::managed::id
inherited

Unique ID of object

◆ name

std::string dpp::slashcommand::name

Command name (1-32 chars)

◆ options

std::vector<command_option> dpp::slashcommand::options

Command options (parameters)

◆ permissions

std::vector<command_permission> dpp::slashcommand::permissions

command permissions

◆ type

slashcommand_contextmenu_type dpp::slashcommand::type

Context menu type, defaults to none.

D++ Library version 10.0.35D++ Library version 10.0.34D++ Library version 10.0.33D++ Library version 10.0.32D++ Library version 10.0.31D++ Library version 10.0.30D++ 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