/// <summary>
        /// Gets a list of user guilds the current bot is in.
        /// </summary>
        /// <exception cref="DiscordHttpApiException"></exception>
        public async Task <DiscordUserGuild[]> GetCurrentUserGuilds(int?limit             = null,
                                                                    Snowflake?baseGuildId = null, GuildGetStrategy getStrategy = GuildGetStrategy.After)
        {
            UrlParametersBuilder paramBuilder = new UrlParametersBuilder();

            if (baseGuildId.HasValue)
            {
                paramBuilder.Add(getStrategy.ToString().ToLower(), baseGuildId.ToString());
            }

            if (limit.HasValue)
            {
                paramBuilder.Add("limit", limit.Value.ToString());
            }

            DiscordApiData data = await rest.Get($"users/@me/guilds{paramBuilder.ToQueryString()}",
                                                 "users/@me/guilds").ConfigureAwait(false);

            DiscordUserGuild[] guilds = new DiscordUserGuild[data.Values.Count];

            for (int i = 0; i < guilds.Length; i++)
            {
                guilds[i] = new DiscordUserGuild(data.Values[i]);
            }

            return(guilds);
        }
Exemple #2
0
 /// <summary>
 /// A GET requests to this URL results in a JSON Serialized /JSON/DiscordGuild object
 /// </summary>
 /// <param name="userGuild"></param>
 /// <returns>API EndPoint for getting Guilds from ID</returns>
 public static string GetGuildURL(DiscordUserGuild userGuild)
 {
     return($"{BaseURL}/guilds/{userGuild.id}");
 }
        public async Task <DiscordGuild> GetGuild(DiscordUserGuild userGuild)
        {
            DiscordGuild guild = Deserialize <DiscordGuild>(await Client.Get(DiscordURL.GetGuildURL(userGuild)));

            return(guild);
        }