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.