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

Rename File to DiscordFileAttachment, work on that
This commit is contained in:
Flori 2023-05-04 23:01:11 +02:00 committed by GitHub
commit 1cd71ef5f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 5 deletions

View File

@ -1,9 +1,10 @@
pub mod messages { pub mod messages {
use reqwest::{Client, Response}; use reqwest::{Client, Response};
use serde_json::to_string; use serde_json::to_string;
use std::io::Read;
use crate::api::limits::Limits; use crate::api::limits::Limits;
use crate::api::types::{File, Message, User}; use crate::api::types::{DiscordFileAttachment, Message, User};
use crate::errors::InstanceServerError; use crate::errors::InstanceServerError;
use crate::limit::LimitedRequester; use crate::limit::LimitedRequester;
@ -23,7 +24,7 @@ pub mod messages {
url_api: &String, url_api: &String,
token: &String, token: &String,
message: &Message, message: &Message,
files: Option<Vec<File>>, files: Option<Vec<DiscordFileAttachment>>,
limits_user: &mut Limits, limits_user: &mut Limits,
limits_instance: &mut Limits, limits_instance: &mut Limits,
requester: &mut LimitedRequester, requester: &mut LimitedRequester,
@ -55,7 +56,7 @@ 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>>, files: Option<Vec<DiscordFileAttachment>>,
) -> 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(),

View File

@ -4,6 +4,8 @@ https://discord.com/developers/docs .
I do not feel like re-documenting all of this, as everything is already perfectly explained there. I do not feel like re-documenting all of this, as everything is already perfectly explained there.
*/ */
use std::fs::File;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::{api::limits::Limits, instance::Instance}; use crate::{api::limits::Limits, instance::Instance};
@ -840,7 +842,27 @@ pub struct GatewayPayload {
impl WebSocketEvent for GatewayPayload {} impl WebSocketEvent for GatewayPayload {}
pub struct File { pub struct DiscordFileAttachment {
pub name: String, pub name: String,
pub path: String, pub filename: String,
pub file: File,
}
impl DiscordFileAttachment {
pub fn new(filenames: &Vec<String>, files: Vec<File>) {
//-> Vec<DiscordFileAttachment> {
if filenames.len() != files.len() {
panic!("Your 'filenames' Vector has either more or less elements than your 'files' Vector.")
}
let mut return_vec: Vec<DiscordFileAttachment> = Vec::new();
let mut counter = 0;
/*for _ in 0..files.len() {
return_vec.push(DiscordFileAttachment {
name: format!("files[{}]", counter.to_string()),
filename: filenames.iter().next().unwrap().to_string(),
file: files.get(0).unwrap(),
});
}
return_vec*/
}
} }