discord-rpc-client/examples/discord_presence.rs

37 lines
1.0 KiB
Rust
Raw Normal View History

extern crate discord_rpc_client;
2022-02-03 09:52:53 -05:00
extern crate simplelog;
2022-02-03 09:52:53 -05:00
use discord_rpc_client::{models::Activity, Client as DiscordRPC};
2018-03-22 15:15:47 -04:00
use simplelog::*;
2022-02-03 09:52:53 -05:00
use std::io;
2022-02-03 09:52:53 -05:00
fn main() -> discord_rpc_client::Result<()> {
2018-03-22 15:15:47 -04:00
TermLogger::init(LevelFilter::Debug, Config::default()).unwrap();
2018-12-05 18:58:26 -05:00
let mut drpc = DiscordRPC::new(425407036495495169);
2022-02-03 09:52:53 -05:00
drpc.connect()?;
2018-04-07 07:24:25 -04:00
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() {
println!("Failed to clear presence: {}", why);
}
} else {
2022-02-03 09:52:53 -05:00
if let Err(why) = drpc.set_activity(Activity::new().state(buf).assets(|ass| {
ass.large_image("ferris_wat")
.large_text("wat.")
.small_image("rusting")
2022-02-03 09:52:53 -05:00
.small_text("rusting...")
})) {
println!("Failed to set presence: {}", why);
}
2018-04-07 07:24:25 -04:00
}
2022-02-03 09:52:53 -05:00
}
}