Add start of attachments implementation

This commit is contained in:
bitfl0wer 2023-05-03 23:04:32 +02:00
parent 0e9a0c4c3c
commit 8903f494ac
2 changed files with 13 additions and 3 deletions

View File

@ -3,8 +3,7 @@ pub mod messages {
use serde_json::to_string; use serde_json::to_string;
use crate::api::limits::Limits; use crate::api::limits::Limits;
use crate::api::types::Message; use crate::api::types::{File, Message, User};
use crate::api::User;
use crate::errors::InstanceServerError; use crate::errors::InstanceServerError;
use crate::limit::LimitedRequester; use crate::limit::LimitedRequester;
@ -22,17 +21,20 @@ pub mod messages {
*/ */
pub async fn send( pub async fn send(
url_api: &String, url_api: &String,
token: &String,
message: &Message, message: &Message,
files: Option<Vec<File>>,
limits_user: &mut Limits, limits_user: &mut Limits,
limits_instance: &mut Limits, limits_instance: &mut Limits,
requester: &mut LimitedRequester, requester: &mut LimitedRequester,
) -> Result<Response, InstanceServerError> { ) -> Result<Response, InstanceServerError> {
let request = Client::new() let mut request = Client::new()
.post(format!( .post(format!(
"{}/channels/{}/messages", "{}/channels/{}/messages",
url_api, message.channel_id url_api, message.channel_id
)) ))
.body(to_string(message).unwrap()); .body(to_string(message).unwrap());
if files.is_some() {}
match requester match requester
.send_request( .send_request(
request, request,
@ -52,10 +54,13 @@ pub mod messages {
pub async fn send_message( pub async fn send_message(
&mut self, &mut self,
message: &Message, message: &Message,
files: Option<Vec<File>>,
) -> Result<Response, InstanceServerError> { ) -> Result<Response, InstanceServerError> {
Message::send( Message::send(
&self.belongs_to().urls.get_api().to_string(), &self.belongs_to().urls.get_api().to_string(),
&self.token(),
message, message,
files,
self.rate_limits.get_as_mut(), self.rate_limits.get_as_mut(),
&mut self.belongs_to.limits.get_as_mut(), &mut self.belongs_to.limits.get_as_mut(),
&mut LimitedRequester::new().await, &mut LimitedRequester::new().await,

View File

@ -839,3 +839,8 @@ pub struct GatewayPayload {
} }
impl WebSocketEvent for GatewayPayload {} impl WebSocketEvent for GatewayPayload {}
pub struct File {
pub name: String,
pub path: String,
}