1use anyhow::Result;
2use std::time::Duration;
3
4use filthy_rich::{Activity, DiscordIPC};
5use tokio::time::sleep;
6
7#[tokio::main]
8async fn main() -> Result<()> {
9 let mut client = DiscordIPC::new("1463450870480900160")
10 .on_ready(|data| println!("Connected to user: {}", data.user.username));
11
12 let activity_1 = Activity::new()
14 .details("this runs")
15 .state("for ten seconds")
16 .build();
17
18 let activity_2 = Activity::new()
19 .details("believe it")
20 .state("or not")
21 .build();
22
23 let closing_activity = Activity::new()
24 .details("closing presence in...")
25 .duration(Duration::from_secs(5))
26 .build();
27
28 client.run(true).await?;
30
31 client.set_activity(activity_1).await?;
32 sleep(Duration::from_secs(5)).await;
33 client.set_activity(activity_2).await?;
34 sleep(Duration::from_secs(5)).await;
35 client.set_activity(closing_activity).await?;
36 sleep(Duration::from_secs(5)).await;
37
38 Ok(())
39}