Reaction collector. Collects message reactions during a set timeframe and returns them in a list via the completed() method.
More...
#include <collector.h>
Reaction collector. Collects message reactions during a set timeframe and returns them in a list via the completed() method.
◆ reaction_collector()
dpp::reaction_collector::reaction_collector |
( |
cluster * |
cl, |
|
|
uint64_t |
duration, |
|
|
snowflake |
msg_id = 0 |
|
) |
| |
|
inline |
Construct a new reaction collector object.
- Parameters
-
cl | cluster to associate the collector with |
duration | Duration of time to run the collector for in seconds |
msg_id | Optional message ID. If specified, only collects reactions for the given message |
◆ ~reaction_collector()
virtual dpp::reaction_collector::~reaction_collector |
( |
| ) |
|
|
virtualdefault |
Destroy the reaction collector object.
◆ cancel()
template<class T , class C >
Immediately cancels the collector.
Use this if you have met the conditions for which you are collecting objects early, e.g. you were watching for a message containing 'yes' or 'no' and have received it before the time is up.
- Note
- Causes calling of the completed() method if it has not yet been called.
◆ completed() [1/2]
template<class T , class C >
virtual void dpp::collector< T, C >::completed |
( |
const std::vector< C > & |
list | ) |
|
|
pure virtualinherited |
You must implement this function to receive the completed list of captured objects.
- Parameters
-
list | The list of captured objects in captured order |
◆ completed() [2/2]
Return the completed collection.
- Parameters
-
list | items collected during the timeframe specified |
◆ filter() [1/2]
Select and filter the items which are to appear in the list This is called every time a new event is fired, to filter the event and determine which of the items is sent to the list. Returning nullptr excludes the item from the list.
- Parameters
-
- Returns
- Returned item to add to the list, or nullptr to skip adding this element
◆ filter() [2/2]
template<class T , class C >
Filter the list of elements.
Every time an event is fired on the collector, this method wil be called to determine if we should add an object to the list or not. This function can then process the element
value, extract the parts which are to be saved to a list (e.g. a dpp::message out of a dpp::message_create_t) and return it as the return value. Returning a value of nullptr causes no object to be stored.
Here is an example of how to filter messages which have specific text in them. This should be used with the specialised type dpp::message_collector
if (m.
msg.
content.find(
"something i want") != std::string::npos) {
} else {
return nullptr;
}
}
virtual const dpp::collected_reaction * filter(const dpp::message_reaction_add_t &element)
Select and filter the items which are to appear in the list This is called every time a new event is ...
Definition: collector.h:266
Create message.
Definition: dispatcher.h:1358
message msg
message that was created (sent).
Definition: dispatcher.h:1367
Represents messages sent and received on Discord.
Definition: message.h:1127
std::string content
Definition: message.h:1137
- Parameters
-
element | The event data to filter |
- Returns
- const C* Returned object or nullptr
◆ owner
template<class T , class C >