1use anyhow::Result;
2use filthy_rich::{
3 PresenceRunner,
4 types::{Activity, ActivityType, StatusDisplayType},
5};
6
7#[tokio::main]
8async fn main() -> Result<()> {
9 let mut runner = PresenceRunner::new("1463450870480900160")
10 .on_ready(|data| println!("Connected to user: {}", data.user.username))
11 .on_activity_send(|data| {
12 println!("Activity sent to app: {} (running on {})\nMetadata: {}", data.name, data.platform, data.metadata)
13 })
14 .show_errors() ;
16
17 let client = runner.run(true).await?;
18
19 let activity = Activity::new()
21 .activity_type(ActivityType::Playing)
22 .details("epic game")
23 .details_url("https://github.com/hitblast")
24 .status_display_type(StatusDisplayType::Details)
25 .large_image("game_icon")
26 .large_text("Playing a game")
27 .large_url("https://hitblast.github.io/")
28 .small_image("status")
29 .small_text("Online")
30 .build();
31
32 client.set_activity(activity).await?;
33
34 runner.wait().await?;
36
37 Ok(())
38}