this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 79 lines 3.4 kB view raw
1use fluxer_rs::{ 2 api::{FluxerApiHandler, channels::messages::SendMessageBuilder}, 3 error::FluxerRsError, 4 gateway::dispatch::DispatchHandlerTrait, 5 high_level::command_handler::CommandHandler, 6 register_commands, 7 serde::types::{ 8 guild::GuildCreateData, 9 message::{ 10 EmbedAuthorBuilder, EmbedBuilder, EmbedFieldBuilder, EmbedFooterBuilder, 11 EmbedMediaBuilder, MessageData, 12 }, 13 }, 14}; 15 16use crate::commands::{ 17 createrole::CreateRoleCommand, deleterole::DeleteRoleCommand, edit::EditCommand, 18 giverole::GiveRoleCommand, ping::PingCommand, react::ReactCommand, 19 remove_react::RemoveReactCommand, removerole::RemoveRoleCommand, 20}; 21 22pub struct ColorbotDispatchHandler {} 23 24impl DispatchHandlerTrait for ColorbotDispatchHandler { 25 async fn handle_message_create_dispatch( 26 &self, 27 data: MessageData, 28 api: &FluxerApiHandler, 29 ) -> Result<(), FluxerRsError> { 30 let mut cmd_handler = CommandHandler::init("!".to_string()); 31 32 register_commands!(cmd_handler,[ 33 {"giverole", GiveRoleCommand}, 34 {"ping", PingCommand}, 35 {"edit", EditCommand}, 36 {"react", ReactCommand}, 37 {"removereact", RemoveReactCommand}, 38 {"removerole", RemoveRoleCommand}, 39 {"createrole", CreateRoleCommand}, 40 {"deleterole", DeleteRoleCommand}, 41 ]); 42 43 cmd_handler.handle(&data, api).await 44 } 45 46 async fn handle_guild_create_dispatch( 47 &self, 48 data: GuildCreateData, 49 api: &FluxerApiHandler, 50 ) -> Result<(), FluxerRsError> { 51 if data.id == "1473686979970875591" { 52 api 53 .execute_call( 54 SendMessageBuilder::default() 55 .content("Mhyello i am online".to_string()) 56 .channel_id("1474424011696861241".to_string()) 57 .embeds(vec![ 58 EmbedBuilder::default() 59 .title("Added to Queue".to_string()) 60 .color(0x4d6fb7) 61 .fields(vec![ 62 EmbedFieldBuilder::default().name("Tracka".to_string()).value("Sussy bakka").inline(true).build().unwrap(), 63 EmbedFieldBuilder::default().name("Artist".to_string()).value("Sussy bakka").inline(true).build().unwrap(), 64 EmbedFieldBuilder::default().name("Durationa".to_string()).value("Sussy bakka").inline(true).build().unwrap(), 65 EmbedFieldBuilder::default().name("Position in Queue".to_string()).value("Sussy bakka").inline(true).build().unwrap() 66 ]) 67 .footer(EmbedFooterBuilder::default().text("Requested by the goober".to_string()).build().unwrap()) 68 .author(EmbedAuthorBuilder::default().name("GOOB".to_string()).icon_url("https://fluxerusercontent.com/avatars/1472242534880579616/4c64d1e4.webp".to_string()).build().unwrap()) 69 .image(EmbedMediaBuilder::default().url("https://s3.animalia.bio/animals/photos/full/1.25x1/sahra11jpg.webp".to_string()).build().unwrap()) 70 .build() 71 .unwrap(), 72 ] 73 ) 74 .message_reference(None) 75 .build().unwrap()).await?; 76 } 77 Ok(()) 78 } 79}