titanium_http/
soundboard.rs1use crate::error::HttpError;
2use crate::HttpClient;
3use titanium_model::{Snowflake, SoundboardSound};
4
5impl HttpClient {
6 pub async fn list_guild_soundboard_sounds(
8 &self,
9 guild_id: Snowflake,
10 ) -> Result<Vec<SoundboardSound<'static>>, HttpError> {
11 self.get(&format!("/guilds/{}/soundboard-sounds", guild_id))
12 .await
13 }
14
15 pub async fn get_guild_soundboard_sound(
17 &self,
18 guild_id: Snowflake,
19 sound_id: Snowflake,
20 ) -> Result<SoundboardSound<'static>, HttpError> {
21 self.get(&format!(
22 "/guilds/{}/soundboard-sounds/{}",
23 guild_id, sound_id
24 ))
25 .await
26 }
27
28 pub async fn create_guild_soundboard_sound(
32 &self,
33 guild_id: Snowflake,
34 payload: &serde_json::Value,
35 ) -> Result<SoundboardSound<'static>, HttpError> {
36 self.post(&format!("/guilds/{}/soundboard-sounds", guild_id), payload)
37 .await
38 }
39
40 pub async fn modify_guild_soundboard_sound(
42 &self,
43 guild_id: Snowflake,
44 sound_id: Snowflake,
45 payload: &serde_json::Value,
46 ) -> Result<SoundboardSound<'static>, HttpError> {
47 self.patch(
48 &format!("/guilds/{}/soundboard-sounds/{}", guild_id, sound_id),
49 payload,
50 )
51 .await
52 }
53
54 pub async fn delete_guild_soundboard_sound(
56 &self,
57 guild_id: Snowflake,
58 sound_id: Snowflake,
59 ) -> Result<(), HttpError> {
60 self.delete(&format!(
61 "/guilds/{}/soundboard-sounds/{}",
62 guild_id, sound_id
63 ))
64 .await
65 }
66}