Merge pull request #27 from polyphony-chat/feature/sending-messages

End of day: Bring main up to date
This commit is contained in:
Flori 2023-05-03 23:28:01 +02:00 committed by GitHub
commit 4c3e7c6325
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 4 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,21 @@ 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())
.bearer_auth(token);
if files.is_some() {}
match requester match requester
.send_request( .send_request(
request, request,
@ -52,10 +55,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,
}