dispatcher_task/
dispatcher-task.rs1use maxbot::{Dispatcher, MaxClient, ScheduledTaskContext, StartContext};
10use std::time::Duration;
11
12#[tokio::main]
13async fn main() -> Result<(), Box<dyn std::error::Error>> {
14 let bot = MaxClient::from_env().expect("MAXBOT_TOKEN not set");
16
17 let mut dp = Dispatcher::new(bot);
19
20 dp.on_start(|ctx: StartContext| async move {
21 let me = ctx.bot().get_me().await?;
22 println!("Бот {} запущен", me.user.username.unwrap_or_default());
23 Ok(())
24 });
25
26 dp.task(Duration::from_secs(10), |_ctx: ScheduledTaskContext| async move {
27 println!("Периодическое задание каждые 10 секунд");
28 Ok(())
29 });
30
31 println!("Нажмите Ctrl+C для остановки.");
32 dp.start_polling().await;
33
34 Ok(())
35}