public async ValueTask <DiscordEmoji[]> GetEmojisAsync(
            ulong guildId)
        {
            var response = await RestClient.GetAsync(
                DiscordApiRoutes.GuildEmoji(guildId))
                           .ConfigureAwait(false);

            HandleErrors(response);
            return(JsonHelper.Deserialize <DiscordEmoji[]>(response.Body));
        }
        public async ValueTask DeleteEmojiAsync(
            ulong guildId,
            ulong emojiId)
        {
            var response = await RestClient.DeleteAsync(
                DiscordApiRoutes.GuildEmoji(guildId, emojiId))
                           .ConfigureAwait(false);

            HandleErrors(response);
        }
        /// <summary>
        /// Creates and uploads a new emoji for a guild.
        /// </summary>
        /// <param name="guildId"></param>
        /// <param name="args"></param>
        /// <returns>The created emoji.</returns>
        public async ValueTask <DiscordEmoji> CreateEmojiAsync(
            ulong guildId,
            EmojiCreationArgs args)
        {
            var response = await RestClient.PostJsonAsync(
                DiscordApiRoutes.GuildEmoji(guildId),
                args)
                           .ConfigureAwait(false);

            HandleErrors(response);
            return(JsonHelper.Deserialize <DiscordEmoji>(response.Body));
        }
        public async ValueTask <DiscordEmoji> EditEmojiAsync(
            ulong guildId,
            ulong emojiId,
            EmojiModifyArgs args)
        {
            var response = await RestClient.PatchJsonAsync(
                DiscordApiRoutes.GuildEmoji(guildId, emojiId),
                args)
                           .ConfigureAwait(false);

            HandleErrors(response);
            return(JsonHelper.Deserialize <DiscordEmoji>(response.Body));
        }