The world's most clever kitty cat
at main 41 lines 1.1 kB view raw
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}