From ab17d864ba74b85dd17d53803f742e4fb8f59fef Mon Sep 17 00:00:00 2001 From: bitfl0wer Date: Wed, 3 May 2023 23:04:32 +0200 Subject: [PATCH 1/2] 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, +} From dcee25a2a2c8aabae87f7b15d3fc60aa71b65e2a Mon Sep 17 00:00:00 2001 From: bitfl0wer Date: Wed, 3 May 2023 23:13:12 +0200 Subject: [PATCH 2/2] Add bearer auth for message sending --- src/api/channels/messages.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/api/channels/messages.rs b/src/api/channels/messages.rs index f9e80d9..5c6f633 100644 --- a/src/api/channels/messages.rs +++ b/src/api/channels/messages.rs @@ -33,7 +33,8 @@ pub mod messages { "{}/channels/{}/messages", url_api, message.channel_id )) - .body(to_string(message).unwrap()); + .body(to_string(message).unwrap()) + .bearer_auth(token); if files.is_some() {} match requester .send_request(