pub struct DiscordIPCClient { /* private fields */ }Expand description
A client handle for controlling Discord IPC.
Implementations§
Source§impl DiscordIPCClient
impl DiscordIPCClient
Sourcepub fn is_running(&self) -> bool
pub fn is_running(&self) -> bool
Checks if the task is running.
Sourcepub async fn set_activity(&self, activity: Activity) -> Result<(), Error>
pub async fn set_activity(&self, activity: Activity) -> Result<(), Error>
Sets/updates the Discord Rich presence activity. The runner must be started before calling this.
Examples found in repository?
More examples
examples/indefinite.rs (line 17)
5async fn main() -> Result<()> {
6 let mut runner = DiscordIPCRunner::new("1463450870480900160")
7 .on_ready(|data| println!("Connected to user: {}", data.user.username));
8
9 let client = runner.run(true).await?;
10
11 let activity = Activity::new()
12 .details("this runs forever")
13 .large_image("game_icon", Some("Playing a game"))
14 .small_image("status", Some("Online"))
15 .build();
16
17 client.set_activity(activity).await?;
18 runner.wait().await?;
19
20 Ok(())
21}examples/timed.rs (line 31)
8async fn main() -> Result<()> {
9 let mut runner = DiscordIPCRunner::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 let client = runner.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}Sourcepub async fn clear_activity(&self) -> Result<(), Error>
pub async fn clear_activity(&self) -> Result<(), Error>
Clears a previously set Discord Rich Presence activity.
Trait Implementations§
Source§impl Clone for DiscordIPCClient
impl Clone for DiscordIPCClient
Source§fn clone(&self) -> DiscordIPCClient
fn clone(&self) -> DiscordIPCClient
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DiscordIPCClient
impl RefUnwindSafe for DiscordIPCClient
impl Send for DiscordIPCClient
impl Sync for DiscordIPCClient
impl Unpin for DiscordIPCClient
impl UnsafeUnpin for DiscordIPCClient
impl UnwindSafe for DiscordIPCClient
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