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...

#include <automod.h>

+ 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)
 Fill object properties from JSON. More...
 
virtual std::string build_json (bool with_id=false) const
 Build a json string for this object. 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...
 

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()

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

Build a json string for this object.

Returns
std::string JSON string

Reimplemented from dpp::json_interface< automod_metadata >.

◆ fill_from_json()

automod_metadata & dpp::automod_metadata::fill_from_json ( nlohmann::json *  j)

Fill object properties from JSON.

Parameters
jJSON to fill from
Returns
automod_metadata& Reference to self

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