D++ (DPP)
C++ Discord API Bot Library
dpp::automod_metadata Struct Reference

Metadata associated with an automod action. Different fields are relevant based on the value of dpp::automod_rule::trigger_type. More...

+ Inheritance diagram for dpp::automod_metadata:
+ Collaboration diagram for dpp::automod_metadata:

Public Member Functions

 automod_metadata ()
 Construct a new automod metadata object. More...
 
virtual ~automod_metadata ()
 Destroy the automod metadata object. More...
 
automod_metadatafill_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

std::vector< std::string > keywords
 Substrings which will be searched for in content (Maximum of 1000). More...
 
std::vector< std::string > regex_patterns
 Regular expression patterns which will be matched against content (Maximum of 10). More...
 
std::vector< automod_preset_typepresets
 Preset keyword list types to moderate. More...
 
std::vector< std::string > allow_list
 Substrings which should not trigger the rule (Maximum of 100 for the trigger type dpp::amod_type_keyword, Maximum of 1000 for the trigger type dpp::amod_type_keyword_preset). More...
 
uint8_t mention_total_limit
 Total number of unique role and user mentions allowed per message (Maximum of 50) More...
 
bool mention_raid_protection_enabled
 Whether to automatically detect mention raids. More...
 

Protected Member Functions

automod_metadatafill_from_json_impl (nlohmann::json *j)
 Fill object properties from JSON. More...
 
virtual json to_json_impl (bool with_id=false) const
 Build a json for this object. More...
 

Friends

struct json_interface< automod_metadata >
 

Detailed Description

Metadata associated with an automod action. Different fields are relevant based on the value of dpp::automod_rule::trigger_type.

Constructor & Destructor Documentation

◆ automod_metadata()

dpp::automod_metadata::automod_metadata ( )

Construct a new automod metadata object.

◆ ~automod_metadata()

virtual dpp::automod_metadata::~automod_metadata ( )
virtual

Destroy the automod metadata object.

Member Function Documentation

◆ build_json()

std::string dpp::json_interface< automod_metadata >::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()

automod_metadata & dpp::json_interface< automod_metadata >::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()

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

Fill object properties from JSON.

Parameters
jJSON to fill from
Returns
automod_metadata& Reference to self

◆ to_json()

auto dpp::json_interface< automod_metadata >::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

◆ to_json_impl()

virtual json dpp::automod_metadata::to_json_impl ( bool  with_id = false) const
protectedvirtual

Build a json for this object.

Returns
json JSON object

Friends And Related Function Documentation

◆ json_interface< automod_metadata >

friend struct json_interface< automod_metadata >
friend

Member Data Documentation

◆ allow_list

std::vector<std::string> dpp::automod_metadata::allow_list

Substrings which should not trigger the rule (Maximum of 100 for the trigger type dpp::amod_type_keyword, Maximum of 1000 for the trigger type dpp::amod_type_keyword_preset).

Each keyword can be a phrase which contains multiple words. All keywords are case insensitive and can be up to 60 characters.

Wildcard symbols (*) can be used to customize how each keyword will be matched.

Examples for the * wildcard symbol:

Prefix - word must start with the keyword

keyword matches
cat* catch, Catapult, CAttLE
the mat* the matrix

Suffix - word must end with the keyword

keyword matches
*cat wildcat, copyCat
*the mat breathe mat

Anywhere - keyword can appear anywhere in the content

keyword matches
*cat* location, eduCation
*the mat* breathe matter

Whole Word - keyword is a full word or phrase and must be surrounded by whitespace at the beginning and end

keyword matches
cat Cat
the mat the mat

◆ keywords

std::vector<std::string> dpp::automod_metadata::keywords

Substrings which will be searched for in content (Maximum of 1000).

Each keyword can be a phrase which contains multiple words. All keywords are case insensitive and can be up to 60 characters.

Wildcard symbols (*) can be used to customize how each keyword will be matched.

Examples for the * wildcard symbol:

Prefix - word must start with the keyword

keyword matches
cat* catch, Catapult, CAttLE
the mat* the matrix

Suffix - word must end with the keyword

keyword matches
*cat wildcat, copyCat
*the mat breathe mat

Anywhere - keyword can appear anywhere in the content

keyword matches
*cat* location, eduCation
*the mat* breathe matter

Whole Word - keyword is a full word or phrase and must be surrounded by whitespace at the beginning and end

keyword matches
cat Cat
the mat the mat

◆ mention_raid_protection_enabled

bool dpp::automod_metadata::mention_raid_protection_enabled

Whether to automatically detect mention raids.

◆ mention_total_limit

uint8_t dpp::automod_metadata::mention_total_limit

Total number of unique role and user mentions allowed per message (Maximum of 50)

◆ presets

std::vector<automod_preset_type> dpp::automod_metadata::presets

Preset keyword list types to moderate.

See also
automod_preset_type

◆ regex_patterns

std::vector<std::string> dpp::automod_metadata::regex_patterns

Regular expression patterns which will be matched against content (Maximum of 10).

Only Rust flavored regex is currently supported, which can be tested in online editors such as Rustexp. Each regex pattern can be up to 260 characters.

D++ 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