D++ (DPP)
C++ Discord API Bot Library
|
Metadata associated with an automod action. More...
#include <automod.h>
Public Member Functions | |
automod_metadata () | |
Construct a new automod metadata object. More... | |
virtual | ~automod_metadata () |
Destroy the automod metadata object. More... | |
automod_metadata & | fill_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_type > | presets |
Preset keyword list types to moderate. More... | |
std::vector< std::string > | allow_list |
Substrings which should not trigger the rule. More... | |
uint8_t | mention_total_limit |
Total number of unique role and user mentions allowed per message (Maximum of 50) More... | |
Metadata associated with an automod action.
dpp::automod_metadata::automod_metadata | ( | ) |
Construct a new automod metadata object.
|
virtual |
Destroy the automod metadata object.
|
virtual |
Build a json string for this object.
Reimplemented from dpp::json_interface< automod_metadata >.
automod_metadata & dpp::automod_metadata::fill_from_json | ( | nlohmann::json * | j | ) |
Fill object properties from JSON.
j | JSON to fill from |
std::vector<std::string> dpp::automod_metadata::allow_list |
Substrings which should not trigger the rule.
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 |
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 |
uint8_t dpp::automod_metadata::mention_total_limit |
Total number of unique role and user mentions allowed per message (Maximum of 50)
std::vector<automod_preset_type> dpp::automod_metadata::presets |
Preset keyword list types to moderate.
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.