A rust framework for interacting with fluxer instances
Something went wrong. Try again.
2.6 kB · 65 lines
Rust
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566use fluxer_rs::{ api::channels::messages::SendMessage, context::FluxerClientContext, error::FluxerRsError, gateway::dispatch::DispatchHandlerTrait, serde::types::{ guild::GuildCreateData, message::{Embed, EmbedAuthor, EmbedField, EmbedFooter, EmbedMedia, MessageData}, },};use log::debug;
pub struct ColorbotDispatchHandler;
impl DispatchHandlerTrait for ColorbotDispatchHandler { async fn handle_message_create_dispatch( &self, data: MessageData, context: &FluxerClientContext, original_text: String, ) -> Result<(), FluxerRsError> { debug!("[DATA] [DISPATCH::MESSAGE_CREATE] {original_text}"); if let Some(context) = context.as_bot_context() { context.cmd_handler.handle(&data, &context.api).await? } Ok(()) }
async fn handle_guild_create_dispatch( &self, data: GuildCreateData, context: &FluxerClientContext, original_text: String, ) -> Result<(), FluxerRsError> { debug!("[DATA] [DISPATCH::GUILD_CREATE] {original_text}");
if data.id == "1473686979970875591" { context.api .execute_call( SendMessage::builder() .content("Mhyello i am online") .channel_id("1474424011696861241") .embeds(vec![ Embed::builder() .title("Added to Queue") .color(0x4d6fb7) .fields(vec![ EmbedField::builder().name("Tracka").value("Sussy bakka").inline(true).build(), EmbedField::builder().name("Artist").value("Sussy bakka").inline(true).build(), EmbedField::builder().name("Durationa").value("Sussy bakka").inline(true).build(), EmbedField::builder().name("Position in Queue").value("Sussy bakka").inline(true).build() ]) .footer(EmbedFooter::builder().text("Requested by the goober").build()) .author(EmbedAuthor::builder().name("GOOB").icon_url("https://fluxerusercontent.com/avatars/1472242534880579616/4c64d1e4.webp").build()) .image(EmbedMedia::builder().url("https://s3.animalia.bio/animals/photos/full/1.25x1/sahra11jpg.webp").build()) .build(), ] ) .maybe_message_reference(None) .build()).await?; } Ok(()) }}