Skip to main content

timed/
timed.rs

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    // create activities for later use
13    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    // first run
29    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}