start re-doing send()
This commit is contained in:
parent
1076c23403
commit
bae45254fe
|
@ -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<Vec<DiscordFileAttachment>>,
|
||||
limits_user: &mut Limits,
|
||||
limits_instance: &mut Limits,
|
||||
requester: &mut LimitedRequester,
|
||||
) -> Result<Response, InstanceServerError> {
|
||||
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<Vec<DiscordFileAttachment>>,
|
||||
limits_user: &mut Limits,
|
||||
message: &mut Message,
|
||||
files: Option<Vec<PartialDiscordFileAttachment>>,
|
||||
user: &mut User<'a>,
|
||||
limits_instance: &mut Limits,
|
||||
requester: &mut LimitedRequester,
|
||||
) -> Result<Response, InstanceServerError> {
|
||||
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<Vec<DiscordFileAttachment>>,
|
||||
) -> Result<Response, InstanceServerError> {
|
||||
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() {}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue