discord-rpc-client/examples/discord_presence.rs

44 lines
1.1 KiB
Rust

use discord_rpc_client::{models::Activity, Client as DiscordRPC};
use simplelog::*;
use std::io;
#[tokio::main]
async fn main() -> discord_rpc_client::Result<()> {
TermLogger::init(
LevelFilter::Debug,
Config::default(),
TerminalMode::Mixed,
ColorChoice::Always,
)
.unwrap();
let drpc = DiscordRPC::default();
drpc.connect(425407036495495169).await?;
loop {
let mut buf = String::new();
io::stdin().read_line(&mut buf).unwrap();
buf.pop();
if buf.is_empty() {
if let Err(why) = drpc.clear_activity().await {
println!("Failed to clear presence: {}", why);
}
} else {
if let Err(why) = drpc
.set_activity(Activity::new().state(buf).assets(|ass| {
ass.large_image("ferris_wat")
.large_text("wat.")
.small_image("rusting")
.small_text("rusting...")
}))
.await
{
println!("Failed to set presence: {}", why);
}
}
}
}