示例#1
0
        /// <summary>
        /// Sends a toot with the supplied text and returns the response from the Mastodon REST API along with status code and reason phrase.
        /// </summary>
        public Task <TootResponse> Toot(string text, string idempotencyKey = null, TootVisibility visibility = TootVisibility.Public, CancellationToken ct = default)
        {
            var data = new Dictionary <string, string> {
                { "status", text },
                { "visibility", visibility.ToString().ToLower(CultureInfo.InvariantCulture) }
            };

            return(SendRequestAsync($"{hostName}/api/v1/statuses", data, idempotencyKey, ct));
        }
示例#2
0
        public static TootResponse MastodonSendToot(this ICakeContext context, string hostName, string accessToken, string text, string idempotencyKey = null,
                                                    TootVisibility visibility = TootVisibility.Public)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            var mastodonProvider = new MastodonProvider(hostName, accessToken);

            return(mastodonProvider.Toot(text, idempotencyKey, visibility, ct: default).GetAwaiter().GetResult());
        }