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

Application command permissions allow you to enable or disable commands for specific users or roles within a guild. More...

#include <appcommand.h>

+ Inheritance diagram for dpp::command_permission:
+ Collaboration diagram for dpp::command_permission:

Public Member Functions

 command_permission ()=default
 Construct a new command permission object. More...
 
virtual ~command_permission ()=default
 
 command_permission (snowflake id, const command_permission_type t, bool permission)
 Construct a new command permission object. More...
 
command_permissionfill_from_json (nlohmann::json *j)
 Convert object from nlohmann::json. More...
 
auto to_json (bool with_id=false) const
 Convert object to nlohmann::json. More...
 
std::string build_json (bool with_id=false) const
 Convert object to json string. More...
 

Public Attributes

snowflake id
 The ID of the role/user. More...
 
command_permission_type type
 The type of permission. More...
 
bool permission
 True to allow, false to disallow. More...
 

Protected Member Functions

command_permissionfill_from_json_impl (nlohmann::json *j)
 Fill object properties from JSON. More...
 

Friends

struct json_interface< command_permission >
 

Detailed Description

Application command permissions allow you to enable or disable commands for specific users or roles within a guild.

Constructor & Destructor Documentation

◆ command_permission() [1/2]

dpp::command_permission::command_permission ( )
default

Construct a new command permission object.

◆ ~command_permission()

virtual dpp::command_permission::~command_permission ( )
virtualdefault

◆ command_permission() [2/2]

dpp::command_permission::command_permission ( snowflake  id,
const command_permission_type  t,
bool  permission 
)

Construct a new command permission object.

Parameters
idThe ID of the role or user
tThe permission type
permissionTrue to allow, false, to disallow

Member Function Documentation

◆ build_json()

std::string dpp::json_interface< command_permission >::build_json ( bool  with_id = false) const
inlineinherited

Convert object to json string.

Parameters
with_idWhether to include the ID or not
Note
Some fields are conditionally filled, do not rely on all fields being present
Returns
std::string Json built from the structure

◆ fill_from_json()

command_permission & dpp::json_interface< command_permission >::fill_from_json ( nlohmann::json *  j)
inlineinherited

Convert object from nlohmann::json.

Parameters
jnlohmann::json object
Returns
T& Reference to self for fluent calling

◆ fill_from_json_impl()

command_permission & dpp::command_permission::fill_from_json_impl ( nlohmann::json *  j)
protected

Fill object properties from JSON.

Parameters
jJSON to fill from
Returns
command_permission& Reference to self

◆ to_json()

auto dpp::json_interface< command_permission >::to_json ( bool  with_id = false) const
inlineinherited

Convert object to nlohmann::json.

Parameters
with_idWhether to include the ID or not
Note
Some fields are conditionally filled, do not rely on all fields being present
Returns
json Json built from the structure

Friends And Related Function Documentation

◆ json_interface< command_permission >

friend struct json_interface< command_permission >
friend

Member Data Documentation

◆ id

snowflake dpp::command_permission::id

The ID of the role/user.

◆ permission

bool dpp::command_permission::permission

True to allow, false to disallow.

◆ type

command_permission_type dpp::command_permission::type

The type of permission.

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