diff options
| author | Austin Hellyer <[email protected]> | 2016-12-02 13:57:49 -0800 |
|---|---|---|
| committer | Austin Hellyer <[email protected]> | 2016-12-02 13:57:49 -0800 |
| commit | 57c060fa2fccfbb3b3d4b2d18aad2faa5929deb3 (patch) | |
| tree | 9bb834ed47a215d4f80f1909b5705a2e69b50950 /src/model | |
| parent | Encase the event storage in an Arc<RwLock> (diff) | |
| download | serenity-57c060fa2fccfbb3b3d4b2d18aad2faa5929deb3.tar.xz serenity-57c060fa2fccfbb3b3d4b2d18aad2faa5929deb3.zip | |
Paginate rest::get_guilds and add helper methods
Paginate the rest::get_guilds endpoint, which can be used to retrieve
the guilds after-or-before a certain guild's Id, with a limit of results
to return (100 is the max).
Example usage:
```rs
use serenity::client::rest::GuildPagination;
let target = GuildPagination::After(GuildId(81384788765712384));
let guilds = context.get_guilds(target, 50);
```
Additionally, add a method of `CurrentUser::guilds()`, to retrieve the
current user's guilds. A limit of 100 is set, as (most) users can not be
in more than 100 guilds.
Diffstat (limited to 'src/model')
| -rw-r--r-- | src/model/user.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/model/user.rs b/src/model/user.rs index d7ea416..88a6f9d 100644 --- a/src/model/user.rs +++ b/src/model/user.rs @@ -5,11 +5,13 @@ use super::{ FriendSourceFlags, GuildContainer, GuildId, + GuildInfo, Mention, RoleId, UserSettings, User, }; +use ::client::rest::GuildPagination; use ::internal::prelude::*; use ::utils::decode_array; @@ -31,6 +33,11 @@ impl CurrentUser { self.avatar.as_ref().map(|av| format!(cdn!("/avatars/{}/{}.jpg"), self.id, av)) } + + /// Gets a list of guilds that the current user is in. + pub fn guilds(&self) -> Result<Vec<GuildInfo>> { + rest::get_guilds(GuildPagination::After(GuildId(0)), 100) + } } impl User { |