public ITweet SendReply( string messageText, // TODO そのうち渡し方を見直す IList <string> mediaUrls, long replyToId, params string[] toScreanNames) { var replyTo = new TweetIdentifier(replyToId); var atNames = string.Join(" ", toScreanNames .Where(x => !string.IsNullOrEmpty(x)) .Where(x => x != _botUser.ScreenName) .Distinct() .Select(x => "@" + x)); // TODO メッセージをURLなどを考慮した長さに正規化する // TODO 添付の仕方を見直す(ビデオ対応など。。。) // https://github.com/linvi/tweetinvi/issues/53 var mediaBinaries = mediaUrls.Take(4) .Select(x => new BinaryReader( WebRequest.Create(x).GetResponse().GetResponseStream() ).ReadAllBytes()).ToList(); return(Tweetinvi.Tweet.PublishTweet( $"{atNames} {messageText}".SafeSubstring(0, 140), new PublishTweetOptionalParameters { InReplyToTweet = replyTo, MediaBinaries = mediaBinaries, })); }
public ITweet SendReply( string messageText, // TODO そのうち渡し方を見直す IList <string> mediaUrls, long replyToId, params string[] toScreanNames) { logger.LogInformation($"SendReply. {replyToId} {messageText}"); var replyTo = new TweetIdentifier(replyToId); var atNames = string.Join(" ", toScreanNames .Where(x => !string.IsNullOrEmpty(x)) .Where(x => x != _botUser.ScreenName) .Distinct() .Select(x => "@" + x)); // 動画なら1件だけ、他は画像とみなして4件まで var videoMediaUrls = mediaUrls .Where(x => x.ToLower().EndsWith("gif") || x.ToLower().EndsWith("api")); var attachMediaUrls = videoMediaUrls.Any() ? videoMediaUrls.Take(1) : mediaUrls.Take(4); var mediaBinaries = attachMediaUrls .Select(x => new BinaryReader( WebRequest.Create(x).GetResponse().GetResponseStream() ).ReadAllBytes()).ToList(); // TODO メッセージをURLなどを考慮した長さに正規化する // TODO 添付の仕方を見直す(ビデオ対応など。。。) // https://github.com/linvi/tweetinvi/issues/53 return(Tweetinvi.Tweet.PublishTweet( $"{atNames} {messageText}".SafeSubstring(0, 140), new PublishTweetOptionalParameters { InReplyToTweet = replyTo, MediaBinaries = mediaBinaries, })); }
public GetRetweeterIdsParameters(long tweetId) : this() { Tweet = new TweetIdentifier(tweetId); }
public DestroyRetweetParameters(long tweetId) { Tweet = new TweetIdentifier(tweetId); }
public PublishRetweetParameters(long tweetId) { Tweet = new TweetIdentifier(tweetId); }