D++ (DPP)
C++ Discord API Bot Library
|
A timed_listener is a way to temporarily attach to an event for a specific timeframe, then detach when complete. A lambda may also be optionally called when the timeout is reached. Destructing the timed_listener detaches any attached event listeners, and cancels any created timers, but does not call any timeout lambda. More...
#include <cluster.h>
Public Member Functions | |
timed_listener (cluster *cl, uint64_t _duration, attached_event &event, listening_function listener, timer_callback_t on_end={}) | |
Construct a new timed listener object. More... | |
~timed_listener () | |
Destroy the timed listener object. More... | |
A timed_listener is a way to temporarily attach to an event for a specific timeframe, then detach when complete. A lambda may also be optionally called when the timeout is reached. Destructing the timed_listener detaches any attached event listeners, and cancels any created timers, but does not call any timeout lambda.
attached_event | Event within cluster to attach to within the cluster::dispatch member (dpp::dispatcher object) |
listening_function | Definition of lambda function that matches up with the attached_event. |
|
inline |
Construct a new timed listener object.
cl | Owning cluster |
_duration | Duration of timed event in seconds |
event | Event to hook, e.g. cluster->dispatch.message_create |
on_end | An optional void() lambda to trigger when the timed_listener times out. Calling the destructor before the timeout is reached does not call this lambda. |
listener | Lambda to receive events. Type must match up properly with that passed into the 'event' parameter. |
|
inline |
Destroy the timed listener object.