mirror of
https://github.com/teloxide/teloxide.git
synced 2025-03-24 23:57:38 +01:00
Do not ignore
tests in dispatching
When test is ignored rustdoc shows a warning sign which is disturbing.
This commit is contained in:
parent
dd4af30727
commit
627b8624f3
1 changed files with 35 additions and 7 deletions
|
@ -7,20 +7,23 @@
|
||||||
//! Take [`examples/purchase.rs`] as an example of dispatching logic. First, we
|
//! Take [`examples/purchase.rs`] as an example of dispatching logic. First, we
|
||||||
//! define a type named `State` to represent the current state of a dialogue:
|
//! define a type named `State` to represent the current state of a dialogue:
|
||||||
//!
|
//!
|
||||||
//! ```ignore
|
//! ```no_run
|
||||||
//! #[derive(Clone, Default)]
|
//! #[derive(Clone, Default)]
|
||||||
//! pub enum State {
|
//! pub enum State {
|
||||||
//! #[default]
|
//! #[default]
|
||||||
//! Start,
|
//! Start,
|
||||||
//! ReceiveFullName,
|
//! ReceiveFullName,
|
||||||
//! ReceiveProductChoice { full_name: String },
|
//! ReceiveProductChoice {
|
||||||
|
//! full_name: String,
|
||||||
|
//! },
|
||||||
//! }
|
//! }
|
||||||
//! ```
|
//! ```
|
||||||
//!
|
//!
|
||||||
//! Then, we define a type `Command` to represent user commands such as
|
//! Then, we define a type `Command` to represent user commands such as
|
||||||
//! `/start` or `/help`:
|
//! `/start` or `/help`:
|
||||||
//!
|
//!
|
||||||
//! ```ignore
|
//! ```no_run
|
||||||
|
//! # use teloxide::utils::command::BotCommands;
|
||||||
//! #[derive(BotCommands, Clone)]
|
//! #[derive(BotCommands, Clone)]
|
||||||
//! #[command(rename = "lowercase", description = "These commands are supported:")]
|
//! #[command(rename = "lowercase", description = "These commands are supported:")]
|
||||||
//! enum Command {
|
//! enum Command {
|
||||||
|
@ -39,7 +42,21 @@
|
||||||
//! are in a given dialogue state (and possibly under other circumstances!). The
|
//! are in a given dialogue state (and possibly under other circumstances!). The
|
||||||
//! solution is to use [`dptree`]:
|
//! solution is to use [`dptree`]:
|
||||||
//!
|
//!
|
||||||
//! ```ignore
|
//! ```no_run
|
||||||
|
//! # // That's a lot of context needed to compile this, oof
|
||||||
|
//! # use teloxide::dispatching::{UpdateHandler, UpdateFilterExt, dialogue::InMemStorage};
|
||||||
|
//! # use teloxide::utils::command::BotCommands;
|
||||||
|
//! # use teloxide::types::Update;
|
||||||
|
//! # #[derive(Clone, Default)] pub enum State { #[default] Start, ReceiveFullName, ReceiveProductChoice { full_name: String } }
|
||||||
|
//! # #[derive(BotCommands, Clone)] enum Command { Help, Start, Cancel }
|
||||||
|
//! # type HandlerResult = Result<(), Box<dyn std::error::Error + Send + Sync>>;
|
||||||
|
//! # async fn help() -> HandlerResult { Ok(()) }
|
||||||
|
//! # async fn start() -> HandlerResult { Ok(()) }
|
||||||
|
//! # async fn cancel() -> HandlerResult { Ok(()) }
|
||||||
|
//! # async fn receive_full_name() -> HandlerResult { Ok(()) }
|
||||||
|
//! # async fn invalid_state() -> HandlerResult { Ok(()) }
|
||||||
|
//! # async fn receive_product_selection() -> HandlerResult { Ok(()) }
|
||||||
|
//! #
|
||||||
//! fn schema() -> UpdateHandler<Box<dyn std::error::Error + Send + Sync + 'static>> {
|
//! fn schema() -> UpdateHandler<Box<dyn std::error::Error + Send + Sync + 'static>> {
|
||||||
//! let command_handler = teloxide::filter_command::<Command, _>()
|
//! let command_handler = teloxide::filter_command::<Command, _>()
|
||||||
//! .branch(
|
//! .branch(
|
||||||
|
@ -86,8 +103,14 @@
|
||||||
//!
|
//!
|
||||||
//! Finally, we define our endpoints like this:
|
//! Finally, we define our endpoints like this:
|
||||||
//!
|
//!
|
||||||
//! ```ignore
|
//! ```no_run
|
||||||
//! // Handler definitions omitted...
|
//! # use teloxide::{Bot, adaptors::AutoSend};
|
||||||
|
//! # use teloxide::types::{Message, CallbackQuery};
|
||||||
|
//! # use teloxide::dispatching::dialogue::{InMemStorage, Dialogue};
|
||||||
|
//! # enum State{}
|
||||||
|
//! #
|
||||||
|
//! type MyDialogue = Dialogue<State, InMemStorage<State>>;
|
||||||
|
//! type HandlerResult = Result<(), Box<dyn std::error::Error + Send + Sync>>;
|
||||||
//!
|
//!
|
||||||
//! async fn start(bot: AutoSend<Bot>, msg: Message, dialogue: MyDialogue) -> HandlerResult {
|
//! async fn start(bot: AutoSend<Bot>, msg: Message, dialogue: MyDialogue) -> HandlerResult {
|
||||||
//! todo!()
|
//! todo!()
|
||||||
|
@ -133,7 +156,12 @@
|
||||||
//!
|
//!
|
||||||
//! Inside `main`, we plug the schema into [`Dispatcher`] like this:
|
//! Inside `main`, we plug the schema into [`Dispatcher`] like this:
|
||||||
//!
|
//!
|
||||||
//! ```ignore
|
//! ```no_run
|
||||||
|
//! # use teloxide::Bot;
|
||||||
|
//! # use teloxide::requests::RequesterExt;
|
||||||
|
//! # use teloxide::dispatching::{Dispatcher, dialogue::InMemStorage};
|
||||||
|
//! # enum State {}
|
||||||
|
//! # fn schema() -> teloxide::dispatching::UpdateHandler<Box<dyn std::error::Error + Send + Sync + 'static>> { teloxide::dptree::entry() }
|
||||||
//! #[tokio::main]
|
//! #[tokio::main]
|
||||||
//! async fn main() {
|
//! async fn main() {
|
||||||
//! let bot = Bot::from_env().auto_send();
|
//! let bot = Bot::from_env().auto_send();
|
||||||
|
|
Loading…
Add table
Reference in a new issue