From ab17d864ba74b85dd17d53803f742e4fb8f59fef Mon Sep 17 00:00:00 2001 From: bitfl0wer Date: Wed, 3 May 2023 23:04:32 +0200 Subject: [PATCH] Add start of attachments implementation --- src/api/channels/messages.rs | 11 ++++++++--- src/api/types.rs | 5 +++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/api/channels/messages.rs b/src/api/channels/messages.rs index dae8a9e..f9e80d9 100644 --- a/src/api/channels/messages.rs +++ b/src/api/channels/messages.rs @@ -3,8 +3,7 @@ pub mod messages { use serde_json::to_string; use crate::api::limits::Limits; - use crate::api::types::Message; - use crate::api::User; + use crate::api::types::{File, Message, User}; use crate::errors::InstanceServerError; use crate::limit::LimitedRequester; @@ -22,17 +21,20 @@ pub mod messages { */ pub async fn send( url_api: &String, + token: &String, message: &Message, + files: Option>, limits_user: &mut Limits, limits_instance: &mut Limits, requester: &mut LimitedRequester, ) -> Result { - let request = Client::new() + let mut request = Client::new() .post(format!( "{}/channels/{}/messages", url_api, message.channel_id )) .body(to_string(message).unwrap()); + if files.is_some() {} match requester .send_request( request, @@ -52,10 +54,13 @@ pub mod messages { pub async fn send_message( &mut self, message: &Message, + files: Option>, ) -> Result { Message::send( &self.belongs_to().urls.get_api().to_string(), + &self.token(), message, + files, self.rate_limits.get_as_mut(), &mut self.belongs_to.limits.get_as_mut(), &mut LimitedRequester::new().await, diff --git a/src/api/types.rs b/src/api/types.rs index 9cba561..7b3f240 100644 --- a/src/api/types.rs +++ b/src/api/types.rs @@ -839,3 +839,8 @@ pub struct GatewayPayload { } impl WebSocketEvent for GatewayPayload {} + +pub struct File { + pub name: String, + pub path: String, +}