| D++ (DPP) C++ Discord API Bot Library

Search
Loading...
Searching...
No Matches
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:
[legend]
Collaboration diagram for dpp::automod_metadata:
[legend]

## Public Member Functions

| automod_metadata ()
| Construct a new automod metadata object.
virtual | ~automod_metadata ()
| Destroy the automod metadata object.
std::string | build_json (bool with_id=false) const
| Convert object to json string.
automod_metadata & | fill_from_json (nlohmann::json *j)
| Convert object from nlohmann::json.
auto | to_json (bool with_id=false) const
| Convert object to nlohmann::json.

## Public Attributes

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).
std::vector< std::string > | keywords
| Substrings which will be searched for in content (Maximum of 1000).
bool | mention_raid_protection_enabled
| Whether to automatically detect mention raids.
uint8_t | mention_total_limit
| Total number of unique role and user mentions allowed per message (Maximum of 50).
std::vector< automod_preset_type > | presets
| Preset keyword list types to moderate.
std::vector< std::string > | regex_patterns
| Regular expression patterns which will be matched against content (Maximum of 10).

## Protected Member Functions

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

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

inline inherited

Convert object to json string.

Parameters

  with_id | Whether 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 | ) |

inline inherited

Convert object from nlohmann::json.

Parameters

  j | nlohmann::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

  j | JSON to fill from

Returns
  automod_metadata& Reference to self

## ◆ to_json()

auto dpp::json_interface< automod_metadata >::to_json | ( | bool | with_id = false | ) | const

inline inherited

Convert object to nlohmann::json.

Parameters

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

protected virtual

Build a json for this object.

Returns
  json JSON object

## Friends And Related Symbol 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.13 D++ Library version 9.0.12 D++ Library version 9.0.11 D++ Library version 9.0.10 D++ Library version 9.0.9 D++ Library version 9.0.8 D++ Library version 9.0.7 D++ Library version 9.0.6 D++ Library version 9.0.5 D++ Library version 9.0.4 D++ Library version 9.0.3 D++ Library version 9.0.2 D++ Library version 9.0.1 D++ Library version 9.0.0 D++ Library version 1.0.2 D++ Library version 1.0.1 D++ Library version 1.0.0