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

Execute/trigger automod rule. More...

#include <dispatcher.h>

+ Inheritance diagram for dpp::automod_rule_execute_t:
+ Collaboration diagram for dpp::automod_rule_execute_t:

Public Member Functions

 event_dispatch_t ()=default
 Construct a new event_dispatch_t object. More...
 
 event_dispatch_t (const event_dispatch_t &rhs)=default
 Construct a new event_dispatch_t object. More...
 
 event_dispatch_t (event_dispatch_t &&rhs)=default
 Construct a new event_dispatch_t object. More...
 
 event_dispatch_t (discord_client *client, const std::string &raw)
 Construct a new event_dispatch_t object. More...
 
 event_dispatch_t (discord_client *client, std::string &&raw)
 Construct a new event_dispatch_t object. More...
 
event_dispatch_toperator= (const event_dispatch_t &rhs)=default
 Copy another event_dispatch_t object. More...
 
event_dispatch_toperator= (event_dispatch_t &&rhs)=default
 Move from another event_dispatch_t object. More...
 
const event_dispatch_tcancel_event () const
 Cancels the event in progress. Any other attached lambdas for this event after this one are not called. More...
 
event_dispatch_tcancel_event ()
 Cancels the event in progress. Any other attached lambdas for this event after this one are not called. More...
 
bool is_cancelled () const
 Returns true if the event is cancelled. Note that event cancellation is a thread local state, and not stored in the object (because object which can be cancelled is const during the event, and cannot itself contain the changeable state). More...
 

Public Attributes

snowflake guild_id = {}
 The id of the guild in which action was executed. More...
 
automod_action action = {}
 The action which was executed. More...
 
snowflake rule_id = {}
 The id of the rule which action belongs to. More...
 
automod_trigger_type rule_trigger_type = {}
 The trigger type of rule which was triggered. More...
 
snowflake user_id = {}
 The id of the user which generated the content which triggered the rule. More...
 
snowflake channel_id = {}
 Optional: the id of the channel in which user content was posted. More...
 
snowflake message_id = {}
 Optional: the id of any user message which content belongs to. More...
 
snowflake alert_system_message_id = {}
 Optional: the id of any system auto moderation messages posted as a result of this action. More...
 
std::string content = {}
 The user generated text content. More...
 
std::string matched_keyword = {}
 The word or phrase configured in the rule that triggered the rule (may be empty). More...
 
std::string matched_content = {}
 The substring in content that triggered the rule (may be empty). More...
 
std::string raw_event = {}
 Raw event data. If you are using json on your websocket, this will contain json, and if you are using ETF as your websocket protocol, it will contain raw ETF data. More...
 
discord_clientfrom = nullptr
 Shard the event came from. Note that for some events, notably voice events, this may be nullptr. More...
 
bool cancelled = false
 Whether the event was cancelled using cancel_event(). More...
 

Detailed Description

Execute/trigger automod rule.

Member Function Documentation

◆ cancel_event() [1/2]

event_dispatch_t & dpp::event_dispatch_t::cancel_event ( )
inherited

Cancels the event in progress. Any other attached lambdas for this event after this one are not called.

Warning
This will modify the event object in a non-thread-safe manner.
Returns
const event_dispatch_t& reference to self for chaining

◆ cancel_event() [2/2]

const event_dispatch_t & dpp::event_dispatch_t::cancel_event ( ) const
inherited

Cancels the event in progress. Any other attached lambdas for this event after this one are not called.

Warning
This will modify the event object in a non-thread-safe manner.
Returns
const event_dispatch_t& reference to self for chaining

◆ event_dispatch_t() [1/5]

dpp::event_dispatch_t::event_dispatch_t ( )
default

Construct a new event_dispatch_t object.

◆ event_dispatch_t() [2/5]

dpp::event_dispatch_t::event_dispatch_t ( const event_dispatch_t rhs)
default

Construct a new event_dispatch_t object.

Parameters
rhsevent_dispatch_t object to copy from

◆ event_dispatch_t() [3/5]

dpp::event_dispatch_t::event_dispatch_t ( discord_client client,
const std::string &  raw 
)

Construct a new event_dispatch_t object.

Parameters
clientThe shard the event originated on. May be a nullptr, e.g. for voice events
rawRaw event data as JSON or ETF

◆ event_dispatch_t() [4/5]

dpp::event_dispatch_t::event_dispatch_t ( discord_client client,
std::string &&  raw 
)

Construct a new event_dispatch_t object.

Parameters
clientThe shard the event originated on. May be a nullptr, e.g. for voice events
rawRaw event data as JSON or ETF

◆ event_dispatch_t() [5/5]

dpp::event_dispatch_t::event_dispatch_t ( event_dispatch_t &&  rhs)
default

Construct a new event_dispatch_t object.

Parameters
rhsevent_dispatch_t object to move from

◆ is_cancelled()

bool dpp::event_dispatch_t::is_cancelled ( ) const
inherited

Returns true if the event is cancelled. Note that event cancellation is a thread local state, and not stored in the object (because object which can be cancelled is const during the event, and cannot itself contain the changeable state).

Returns
true if the event is cancelled

◆ operator=() [1/2]

event_dispatch_t & dpp::event_dispatch_t::operator= ( const event_dispatch_t rhs)
default

Copy another event_dispatch_t object.

Parameters
rhsThe event to copy from

◆ operator=() [2/2]

event_dispatch_t & dpp::event_dispatch_t::operator= ( event_dispatch_t &&  rhs)
default

Move from another event_dispatch_t object.

Parameters
rhsThe event to move from

Member Data Documentation

◆ action

automod_action dpp::automod_rule_execute_t::action = {}

The action which was executed.

◆ alert_system_message_id

snowflake dpp::automod_rule_execute_t::alert_system_message_id = {}

Optional: the id of any system auto moderation messages posted as a result of this action.

◆ cancelled

bool dpp::event_dispatch_t::cancelled = false
mutableinherited

Whether the event was cancelled using cancel_event().

◆ channel_id

snowflake dpp::automod_rule_execute_t::channel_id = {}

Optional: the id of the channel in which user content was posted.

◆ content

std::string dpp::automod_rule_execute_t::content = {}

The user generated text content.

◆ from

discord_client* dpp::event_dispatch_t::from = nullptr
inherited

Shard the event came from. Note that for some events, notably voice events, this may be nullptr.

◆ guild_id

snowflake dpp::automod_rule_execute_t::guild_id = {}

The id of the guild in which action was executed.

◆ matched_content

std::string dpp::automod_rule_execute_t::matched_content = {}

The substring in content that triggered the rule (may be empty).

◆ matched_keyword

std::string dpp::automod_rule_execute_t::matched_keyword = {}

The word or phrase configured in the rule that triggered the rule (may be empty).

◆ message_id

snowflake dpp::automod_rule_execute_t::message_id = {}

Optional: the id of any user message which content belongs to.

◆ raw_event

std::string dpp::event_dispatch_t::raw_event = {}
inherited

Raw event data. If you are using json on your websocket, this will contain json, and if you are using ETF as your websocket protocol, it will contain raw ETF data.

◆ rule_id

snowflake dpp::automod_rule_execute_t::rule_id = {}

The id of the rule which action belongs to.

◆ rule_trigger_type

automod_trigger_type dpp::automod_rule_execute_t::rule_trigger_type = {}

The trigger type of rule which was triggered.

◆ user_id

snowflake dpp::automod_rule_execute_t::user_id = {}

The id of the user which generated the content which triggered the rule.

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