pub struct DiscordIPCSync { /* private fields */ }Expand description
Blocking implementation of DiscordIPC.
Implementations§
Source§impl DiscordIPCSync
impl DiscordIPCSync
Sourcepub fn new(client_id: &str) -> Result<Self>
pub fn new(client_id: &str) -> Result<Self>
Creates a new Discord IPC client instance.
Examples found in repository?
examples/indefinite-sync.rs (line 4)
3fn main() {
4 let mut client = DiscordIPCSync::new("1463450870480900160")
5 .unwrap()
6 .on_ready(|| println!("filthy-rich is READY to set activity updates."));
7
8 client.run(true).unwrap();
9
10 client
11 .set_activity("this runs forever".to_string(), None)
12 .unwrap();
13 client.wait().unwrap();
14}More examples
examples/timed-sync.rs (line 6)
5fn main() {
6 let mut client = DiscordIPCSync::new("1463450870480900160")
7 .unwrap()
8 .on_ready(|| println!("filthy-rich is READY to set activity updates."));
9
10 // first run
11 client.run(true).unwrap();
12
13 client
14 .set_activity("this runs".to_string(), Some("for ten seconds".to_string()))
15 .unwrap();
16 sleep(Duration::from_secs(5));
17 client
18 .set_activity("believe it".to_string(), Some("or not!".to_string()))
19 .unwrap();
20 sleep(Duration::from_secs(5));
21}Sourcepub fn on_ready<F: Fn() + Send + Sync + 'static>(self, f: F) -> Self
pub fn on_ready<F: Fn() + Send + Sync + 'static>(self, f: F) -> Self
Run a particular closure after receiving the READY event from the local Discord IPC server.
Examples found in repository?
examples/indefinite-sync.rs (line 6)
3fn main() {
4 let mut client = DiscordIPCSync::new("1463450870480900160")
5 .unwrap()
6 .on_ready(|| println!("filthy-rich is READY to set activity updates."));
7
8 client.run(true).unwrap();
9
10 client
11 .set_activity("this runs forever".to_string(), None)
12 .unwrap();
13 client.wait().unwrap();
14}More examples
examples/timed-sync.rs (line 8)
5fn main() {
6 let mut client = DiscordIPCSync::new("1463450870480900160")
7 .unwrap()
8 .on_ready(|| println!("filthy-rich is READY to set activity updates."));
9
10 // first run
11 client.run(true).unwrap();
12
13 client
14 .set_activity("this runs".to_string(), Some("for ten seconds".to_string()))
15 .unwrap();
16 sleep(Duration::from_secs(5));
17 client
18 .set_activity("believe it".to_string(), Some("or not!".to_string()))
19 .unwrap();
20 sleep(Duration::from_secs(5));
21}Sourcepub fn client_id(&self) -> String
pub fn client_id(&self) -> String
The Discord client ID that has been used to initialize this IPC client instance.
Sourcepub fn run(&mut self, wait_for_ready: bool) -> Result<()>
pub fn run(&mut self, wait_for_ready: bool) -> Result<()>
Run the client.
Must be called before any DiscordIPCSync::set_activity calls.
Examples found in repository?
examples/indefinite-sync.rs (line 8)
3fn main() {
4 let mut client = DiscordIPCSync::new("1463450870480900160")
5 .unwrap()
6 .on_ready(|| println!("filthy-rich is READY to set activity updates."));
7
8 client.run(true).unwrap();
9
10 client
11 .set_activity("this runs forever".to_string(), None)
12 .unwrap();
13 client.wait().unwrap();
14}More examples
examples/timed-sync.rs (line 11)
5fn main() {
6 let mut client = DiscordIPCSync::new("1463450870480900160")
7 .unwrap()
8 .on_ready(|| println!("filthy-rich is READY to set activity updates."));
9
10 // first run
11 client.run(true).unwrap();
12
13 client
14 .set_activity("this runs".to_string(), Some("for ten seconds".to_string()))
15 .unwrap();
16 sleep(Duration::from_secs(5));
17 client
18 .set_activity("believe it".to_string(), Some("or not!".to_string()))
19 .unwrap();
20 sleep(Duration::from_secs(5));
21}Sourcepub fn wait(&mut self) -> Result<()>
pub fn wait(&mut self) -> Result<()>
Waits for the IPC task to finish.
DiscordIPCSync::run must be called to spawn it in the first place.
Examples found in repository?
examples/indefinite-sync.rs (line 13)
3fn main() {
4 let mut client = DiscordIPCSync::new("1463450870480900160")
5 .unwrap()
6 .on_ready(|| println!("filthy-rich is READY to set activity updates."));
7
8 client.run(true).unwrap();
9
10 client
11 .set_activity("this runs forever".to_string(), None)
12 .unwrap();
13 client.wait().unwrap();
14}Sourcepub fn is_running(&self) -> bool
pub fn is_running(&self) -> bool
Checks whether the task is running through the internal atomic indicator flag.
Sourcepub fn set_activity(&self, details: String, state: Option<String>) -> Result<()>
pub fn set_activity(&self, details: String, state: Option<String>) -> Result<()>
Sets/updates the Discord Rich presence activity.
DiscordIPCSync::run must be executed prior to calling this.
Examples found in repository?
examples/indefinite-sync.rs (line 11)
3fn main() {
4 let mut client = DiscordIPCSync::new("1463450870480900160")
5 .unwrap()
6 .on_ready(|| println!("filthy-rich is READY to set activity updates."));
7
8 client.run(true).unwrap();
9
10 client
11 .set_activity("this runs forever".to_string(), None)
12 .unwrap();
13 client.wait().unwrap();
14}More examples
examples/timed-sync.rs (line 14)
5fn main() {
6 let mut client = DiscordIPCSync::new("1463450870480900160")
7 .unwrap()
8 .on_ready(|| println!("filthy-rich is READY to set activity updates."));
9
10 // first run
11 client.run(true).unwrap();
12
13 client
14 .set_activity("this runs".to_string(), Some("for ten seconds".to_string()))
15 .unwrap();
16 sleep(Duration::from_secs(5));
17 client
18 .set_activity("believe it".to_string(), Some("or not!".to_string()))
19 .unwrap();
20 sleep(Duration::from_secs(5));
21}Sourcepub fn clear_activity(&self) -> Result<()>
pub fn clear_activity(&self) -> Result<()>
Clears a previously set Discord Rich Presence activity.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for DiscordIPCSync
impl !RefUnwindSafe for DiscordIPCSync
impl Send for DiscordIPCSync
impl Sync for DiscordIPCSync
impl Unpin for DiscordIPCSync
impl UnsafeUnpin for DiscordIPCSync
impl !UnwindSafe for DiscordIPCSync
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more