aboutsummaryrefslogtreecommitdiff
path: root/src/http
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2018-02-09 20:25:11 -0800
committerZeyla Hellyer <[email protected]>2018-02-09 20:26:00 -0800
commitdbfc06e9c6df506839fb178eaeb9db704aefd357 (patch)
treed91f56767a99267185ba77c036cd1c17fc82e96e /src/http
parentGeneralise `image`, `thumbnail`, `url` and `attachment` (diff)
downloadserenity-dbfc06e9c6df506839fb178eaeb9db704aefd357.tar.xz
serenity-dbfc06e9c6df506839fb178eaeb9db704aefd357.zip
Add 'Get Guild Vanity Url' endpoint
Docs: <https://github.com/discordapp/discord-api-docs/commit/98f6643703012d2f3780ba730ce1191120f85dcd>
Diffstat (limited to 'src/http')
-rw-r--r--src/http/mod.rs19
-rw-r--r--src/http/ratelimiting.rs6
2 files changed, 25 insertions, 0 deletions
diff --git a/src/http/mod.rs b/src/http/mod.rs
index 6b56abd..e40b3c6 100644
--- a/src/http/mod.rs
+++ b/src/http/mod.rs
@@ -1241,6 +1241,25 @@ pub fn get_guild_invites(guild_id: u64) -> Result<Vec<RichInvite>> {
.map_err(From::from)
}
+/// Gets a guild's vanity URL if it has one.
+pub fn get_guild_vanity_url(guild_id: u64) -> Result<String> {
+ #[derive(Deserialize)]
+ struct GuildVanityUrl {
+ code: String,
+ }
+
+ let response = request!(
+ Route::GuildsIdVanityUrl(guild_id),
+ get,
+ "/guilds/{}/vanity-url",
+ guild_id
+ );
+
+ serde_json::from_reader::<HyperResponse, GuildVanityUrl>(response)
+ .map(|x| x.code)
+ .map_err(From::from)
+}
+
/// Gets the members of a guild. Optionally pass a `limit` and the Id of the
/// user to offset the result by.
pub fn get_guild_members(guild_id: u64,
diff --git a/src/http/ratelimiting.rs b/src/http/ratelimiting.rs
index ca269e3..d46d196 100644
--- a/src/http/ratelimiting.rs
+++ b/src/http/ratelimiting.rs
@@ -316,6 +316,12 @@ pub enum Route {
///
/// [`GuildId`]: struct.GuildId.html
GuildsIdRolesId(u64),
+ /// Route for the `/guilds/:guild_id/vanity-url` path.
+ ///
+ /// The data is the relevant [`GuildId`].
+ ///
+ /// [`GuildId`]: struct.GuildId.html
+ GuildsIdVanityUrl(u64),
/// Route for the `/guilds/:guild_id/webhooks` path.
///
/// The data is the relevant [`GuildId`].