/// <inheritdoc />
 public virtual Task <Result> CreateReactionAsync
 (
     Snowflake channelID,
     Snowflake messageID,
     string emoji,
     CancellationToken ct = default
 )
 {
     return(_discordHttpClient.PutAsync
            (
                $"channels/{channelID}/messages/{messageID}/reactions/{HttpUtility.UrlEncode(emoji)}/@me",
                ct: ct
            ));
 }
 /// <inheritdoc />
 public virtual Task <Result <ITemplate> > SyncGuildTemplateAsync
 (
     Snowflake guildID,
     string templateCode,
     CancellationToken ct = default
 )
 {
     return(_discordHttpClient.PutAsync <ITemplate>
            (
                $"guilds/{guildID}/templates/{templateCode}",
                ct: ct
            ));
 }
        /// <inheritdoc />
        public virtual async Task <IRetrieveRestEntityResult <ITemplate> > SyncGuildTemplateAsync
        (
            Snowflake guildID,
            string templateCode,
            CancellationToken ct = default
        )
        {
            var createResult = await _discordHttpClient.PutAsync <ITemplate>
                               (
                $"guilds/{guildID}/templates/{templateCode}",
                ct : ct
                               );

            return(createResult.IsSuccess
                ? RetrieveRestEntityResult <ITemplate> .FromSuccess(createResult.Entity)
                : RetrieveRestEntityResult <ITemplate> .FromError(createResult));
        }