clear_cache.rs
1 use matrix_sdk::{ 2 Room, 3 ruma::events::{ 4 reaction::ReactionEventContent, relation::Annotation, 5 room::message::OriginalRoomMessageEvent, 6 }, 7 }; 8 9 use crate::{ 10 context::Context, 11 matrix::commands::{CommandError, CommandResult}, 12 }; 13 14 pub async fn invoke( 15 event: &OriginalRoomMessageEvent, 16 room: &Room, 17 context: &Context, 18 ) -> CommandResult<()> { 19 if !context.config.matrix.admin_ids.contains(&event.sender) { 20 return Err(CommandError::PermissionDenied); 21 } 22 23 context.aoc_client.clear_leaderboard_cache().await?; 24 25 room.send(ReactionEventContent::new(Annotation::new( 26 event.event_id.clone(), 27 "✅️".into(), 28 ))) 29 .await?; 30 31 Ok(()) 32 }