From e41563b101ad22eec677976eed949720348cad16 Mon Sep 17 00:00:00 2001 From: bitfl0wer Date: Fri, 5 May 2023 21:53:23 +0200 Subject: [PATCH] start re-doing send() --- src/api/channels/messages.rs | 78 +++++------------------------------- 1 file changed, 9 insertions(+), 69 deletions(-) diff --git a/src/api/channels/messages.rs b/src/api/channels/messages.rs index 0c5f637..357e245 100644 --- a/src/api/channels/messages.rs +++ b/src/api/channels/messages.rs @@ -1,11 +1,6 @@ pub mod messages { - use reqwest::{Client, Response}; - use serde_json::to_string; - use std::io::Read; - use crate::api::limits::Limits; - use crate::api::types::{DiscordFileAttachment, Message, User}; - use crate::errors::InstanceServerError; + use crate::api::types::{Message, PartialDiscordFileAttachment, User}; use crate::limit::LimitedRequester; impl Message { @@ -20,76 +15,21 @@ pub mod messages { # Errors * [`InstanceServerError`] - If the message cannot be sent. */ - 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 { - if files.is_some() { - return Self::send_with_attachments( - url_api, - token, - message, - files, - limits_user, - limits_instance, - requester, - ); - } - let request = Client::new() - .post(format!( - "{}/channels/{}/messages", - url_api, message.channel_id - )) - .body(to_string(message).unwrap()) - .bearer_auth(token); - match requester - .send_request( - request, - crate::api::limits::LimitType::Channel, - limits_instance, - limits_user, - ) - .await - { - Ok(result) => Ok(result), - Err(e) => Err(e), - } - } - fn send_with_attachments( + pub async fn send<'a>( url_api: &String, - token: &String, - message: &Message, - files: Option>, - limits_user: &mut Limits, + message: &mut Message, + files: Option>, + user: &mut User<'a>, limits_instance: &mut Limits, requester: &mut LimitedRequester, - ) -> Result { - let form = reqwest::multipart::Form::new(); + ) { + let token = user.token(); + let mut limits = &mut user.rate_limits; } } impl<'a> User<'a> { - 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, - ) - .await - } + pub async fn send_message() {} } }