/// メディアのアップロードとツイートの投稿を行います
/// </summary>
/// <exception cref="WebApiException"/>
- Task PostStatusAsync(string text, long? inReplyToStatusId, IMediaItem[] mediaItems);
+ Task PostStatusAsync(string text, long? inReplyToStatusId, IMediaItem[] mediaItems, long[] excludeReplyUserIds);
/// <summary>
/// 画像URLのために確保する必要のある文字数を返します
return MaxFileSize;
}
- public async Task PostStatusAsync(string text, long? inReplyToStatusId, IMediaItem[] mediaItems)
+ public async Task PostStatusAsync(string text, long? inReplyToStatusId, IMediaItem[] mediaItems, long[] excludeReplyUserIds)
{
if (mediaItems == null)
throw new ArgumentNullException(nameof(mediaItems));
var textWithImageUrl = text + " " + imageUrl.Trim();
- await this.twitter.PostStatus(textWithImageUrl, inReplyToStatusId)
+ await this.twitter.PostStatus(textWithImageUrl, inReplyToStatusId, excludeReplyUserIds: excludeReplyUserIds)
.ConfigureAwait(false);
}
return MaxFileSize;
}
- public async Task PostStatusAsync(string text, long? inReplyToStatusId, IMediaItem[] mediaItems)
+ public async Task PostStatusAsync(string text, long? inReplyToStatusId, IMediaItem[] mediaItems, long[] excludeReplyUserIds)
{
if (mediaItems == null)
throw new ArgumentNullException(nameof(mediaItems));
var textWithImageUrl = text + " " + imageUrlElm.Value.Trim();
- await this.twitter.PostStatus(textWithImageUrl, inReplyToStatusId)
+ await this.twitter.PostStatus(textWithImageUrl, inReplyToStatusId, excludeReplyUserIds: excludeReplyUserIds)
.ConfigureAwait(false);
}
return this.twitterConfig.PhotoSizeLimit;
}
- public async Task PostStatusAsync(string text, long? inReplyToStatusId, IMediaItem[] mediaItems)
+ public async Task PostStatusAsync(string text, long? inReplyToStatusId, IMediaItem[] mediaItems, long[] excludeReplyUserIds)
{
if (mediaItems == null)
throw new ArgumentNullException(nameof(mediaItems));
var mediaIds = await Task.WhenAll(uploadTasks)
.ConfigureAwait(false);
- await this.tw.PostStatus(text, inReplyToStatusId, mediaIds)
+ await this.tw.PostStatus(text, inReplyToStatusId, mediaIds, excludeReplyUserIds)
.ConfigureAwait(false);
}
public string status = "";
public long? inReplyToId = null;
public string inReplyToName = null;
+ public long[] excludeReplyUserIds = null;
public string imageService = ""; //画像投稿サービス名
public IMediaItem[] mediaItems = null;
public PostingStatus()
{
if (status.mediaItems == null || status.mediaItems.Length == 0)
{
- await this.tw.PostStatus(status.status, status.inReplyToId)
+ await this.tw.PostStatus(status.status, status.inReplyToId, excludeReplyUserIds: status.excludeReplyUserIds)
.ConfigureAwait(false);
}
else
{
var service = ImageSelector.GetService(status.imageService);
- await service.PostStatusAsync(status.status, status.inReplyToId, status.mediaItems)
+ await service.PostStatusAsync(status.status, status.inReplyToId, status.mediaItems, status.excludeReplyUserIds)
.ConfigureAwait(false);
}
});
return orgData;
}
- public async Task PostStatus(string postStr, long? reply_to, IReadOnlyList<long> mediaIds = null)
+ public async Task PostStatus(string postStr, long? reply_to, IReadOnlyList<long> mediaIds = null,
+ IReadOnlyList<long> excludeReplyUserIds = null)
{
this.CheckAccountState();
return;
}
- var response = await this.Api.StatusesUpdate(postStr, reply_to, mediaIds)
+ var response = await this.Api.StatusesUpdate(postStr, reply_to, mediaIds,
+ autoPopulateReplyMetadata: true, excludeReplyUserIds: excludeReplyUserIds)
.ConfigureAwait(false);
var status = await response.LoadJsonAsync()