/// <summary> /// ツイートする。 /// </summary> /// <param name="parameters"></param> public async Task Tweet(ServicePostParameters parameters) { var query = new Query { ["status"] = parameters.Text, }; if (parameters.Attachments.HasItems) { var mediaIds = await this._account.Media.Uploads(parameters.Attachments) .ConfigureAwait(false); query["media_ids"] = new ValueGroup(mediaIds); } if (parameters.IsContainsWarningAttachment) { query["possibly_sensitive"] = true; } //if (parameters.ReplyToStatus != null) //{ // query["in_reply_to_status_id"] = parameters.ReplyToStatus.Id; //} await this._account.Api.Statuses.Update(query).ConfigureAwait(false); }
/// <summary> /// トゥートする。 /// </summary> /// <param name="parameters"></param> /// <param name="account">アカウント情報</param> /// <returns></returns> public async Task Toat(ServicePostParameters parameters) { var query = new Query { ["status"] = parameters.Text, }; //if (parameters.ReplyToStatus != null) //{ // query["in_reply_to_id"] = parameters.ReplyToStatus.Id; //} if (parameters.Attachments.HasItems) { query["media_ids"] = await this._account.Media.Uploads(parameters.Attachments) .ConfigureAwait(false); } if (parameters.IsContainsWarningAttachment) { query["sensitive"] = true; } if (!string.IsNullOrEmpty(parameters.SpoilerText)) { query["spoiler_text"] = parameters.SpoilerText; } if (parameters.HasPolls) { var polls = parameters.Polls .Where(poll => !string.IsNullOrEmpty(poll.Text)) .Select(poll => poll.Text); if (polls.Any()) { var pollsQuery = new Query { ["options"] = polls, ["expires_in"] = parameters.PollsExpires, ["multiple"] = parameters.IsPollsMultiple, ["hide_totals"] = parameters.IsPollsHideTotals, }; query["poll"] = pollsQuery; } } //if (parameters.Visibility != null) //{ // query["visibility"] = GetVisibilityValue(parameters.Visibility); //} await this._account.Api.Statuses.Post(query).ConfigureAwait(false); }
public int GetTextLength(ServicePostParameters parameters) { int textLength = parameters.Text?.Length ?? 0; if (parameters.HasSpoilerText && parameters.SpoilerText != null) { textLength += parameters.SpoilerText.Length; } return(textLength); }
public bool CanPost(ServicePostParameters parameters) { int length = GetTextLength(parameters); if (parameters.Attachments.Count > 0) { length += _tweetTextValidator.ShortUrlLength; } return(length > 0 && length <= this.MaxPostTextLength && parameters.Attachments.Count <= 4); }
public bool CanPost(ServicePostParameters parameters) { return(parameters.Text?.Length > 0 || (parameters.Attachments.HasItems && parameters.Attachments.Count <= 4)); }
public int GetTextLength(ServicePostParameters parameters) { return(_tweetTextValidator.GetTweetLength(parameters.Text)); }
public Task PostStatus(ServicePostParameters parameters) => this._account.Statuses.Toat(parameters);