1 unstable release
| 0.1.0-beta.1 | Mar 11, 2022 |
|---|
#8 in #teloxide
107 downloads per month
16KB
252 lines
teloxide-listener
A listener extension for teloxide.
Currently supports the following modes:
pollingwebhook(axum, need to be enabled by feature flag)
Usage
Construct a Listener builder, build it, and pass it to with_listener versions of teloxide functions (e.g., repl_with_listener).
There are two ways to construct a Listener builder.
From environment variables
Listener::from_env can be used to construct a Listener from environment variables.
If compiled with webhook feature enabled, it tries to read TELOXIDE_WEBHOOK_URL, TELOXIDE_WEBHOOK_PATH, and TELOXIDE_BIND_ADDR to build a webhook updates listener first.
Otherwise, it falls back to long polling updates listener.
To customize the TELOXIDE_ prefix, use Listener::from_env_with_prefix.
Constructing a Listener manually
Listener::Polling- a long polling updates listener.Listener::Webhook- a webhook updates listener.
Example
use teloxide_listener::Listener;
let listener = Listener::from_env().build(bot.clone());
teloxide::repls2::repl_with_listener(
bot,
|msg: Message, bot: Bot| async move {
bot.send_message(msg.chat.id, "pong").send().await?;
respond(())
},
listener,
)
License
This project is licensed under the MIT license.
Dependencies
~18–38MB
~468K SLoC