pub struct Typing(/* private fields */);
Expand description
A struct to start typing in a Channel
for an indefinite period of time.
It indicates that the current user is currently typing in the channel.
Typing is started by using the Typing::start
method and stopped by using the
Typing::stop
method. Note that on some clients, typing may persist for a few seconds after
Typing::stop
is called. Typing is also stopped when the struct is dropped.
If a message is sent while typing is triggered, the user will stop typing for a brief period of
time and then resume again until either Typing::stop
is called or the struct is dropped.
This should rarely be used for bots, although it is a good indicator that a long-running command is still being processed.
§Examples
let channel_id = ChannelId::new(7);
// Initiate typing (assuming `http` is bound)
let typing = Typing::start(Arc::new(http), channel_id);
// Run some long-running process
long_process();
// Stop typing
typing.stop();
Implementations§
Source§impl Typing
impl Typing
Sourcepub fn start(http: Arc<Http>, channel_id: ChannelId) -> Self
pub fn start(http: Arc<Http>, channel_id: ChannelId) -> Self
Starts typing in the specified Channel
for an indefinite period of time.
Returns Typing
. To stop typing, you must call the Typing::stop
method on the
returned Typing
object or wait for it to be dropped. Note that on some clients, typing
may persist for a few seconds after stopped.
§Errors
Returns an Error::Http
if there is an error.
Sourcepub fn stop(self) -> bool
pub fn stop(self) -> bool
Stops typing in Channel
.
This should be used to stop typing after it is started using Typing::start
. Typing may
persist for a few seconds on some clients after this is called. Returns false if typing has
already stopped.