The world's most clever kitty cat
1use log::debug;
2use twilight_gateway::MessageSender;
3use twilight_model::gateway::{
4 payload::outgoing::UpdatePresence,
5 presence::{Activity, ActivityType, Status},
6};
7
8use crate::{brain::Brain, prelude::*};
9
10pub fn update_status(brain: &Brain, sender: &MessageSender) -> Result {
11 let words = brain.word_count();
12
13 let activity = Activity {
14 application_id: None,
15 assets: None,
16 buttons: Vec::new(),
17 created_at: None,
18 details: None,
19 emoji: None,
20 flags: None,
21 id: None,
22 instance: None,
23 kind: ActivityType::Custom,
24 name: "Bingus".to_string(),
25 party: None,
26 secrets: None,
27 state: Some(format!("I know {words} words!")),
28 timestamps: None,
29 url: None,
30 };
31
32 let status = UpdatePresence::new(vec![activity], false, None, Status::Online)
33 .context("Failed to make status")?;
34
35 sender
36 .command(&status)
37 .context("Failed to send to gateway")?;
38
39 debug!("Sent status update");
40 Ok(())
41}