Add create_ban

Closes "Create Guild Ban #299"
This commit is contained in:
bitfl0wer 2023-08-20 18:49:10 +02:00
parent d27d7d9796
commit 7b24fb5cde
No known key found for this signature in database
GPG Key ID: 0ACD574FCF5226CF
1 changed files with 26 additions and 2 deletions

View File

@ -7,8 +7,8 @@ use crate::errors::ChorusError;
use crate::errors::ChorusResult;
use crate::instance::UserMeta;
use crate::ratelimiter::ChorusRequest;
use crate::types::Snowflake;
use crate::types::{Channel, ChannelCreateSchema, Guild, GuildCreateSchema};
use crate::types::{Channel, ChannelCreateSchema, Guild, GuildBanCreateSchema, GuildCreateSchema};
use crate::types::{GuildBan, Snowflake};
impl Guild {
/// Creates a new guild.
@ -137,6 +137,30 @@ impl Guild {
let response = chorus_request.deserialize_response::<Guild>(user).await?;
Ok(response)
}
pub async fn create_ban(
guild_id: Snowflake,
user_id: Snowflake,
schema: GuildBanCreateSchema,
user: &mut UserMeta,
) -> ChorusResult<GuildBan> {
let chorus_request = ChorusRequest {
request: Client::new()
.put(format!(
"{}/guilds/{}/bans/{}",
user.belongs_to.borrow().urls.api,
guild_id,
user_id
))
.header("Authorization", user.token())
.body(to_string(&schema).unwrap()),
limit_type: LimitType::Guild(guild_id),
};
let response = chorus_request
.deserialize_response::<GuildBan>(user)
.await?;
Ok(response)
}
}
impl Channel {