public ITweet PublishTweetInReplyTo(string text, ITweetIdentifier tweet) { var parameters = new PublishTweetOptionalParameters(); parameters.InReplyToTweet = tweet; return(PublishTweet(text, parameters)); }
// UnRetweet public string GetUnRetweetQuery(ITweetIdentifier tweetIdentifier) { if (tweetIdentifier == null) { return(null); } return(GetUnRetweetQuery(tweetIdentifier.Id)); }
// Get Retweets public string GetRetweetsQuery(ITweetIdentifier tweetIdentifier, int maxRetweetsToRetrieve) { _tweetQueryValidator.ValidateTweetIdentifier(tweetIdentifier); var query = new StringBuilder(string.Format(Resources.Tweet_Retweet_GetRetweets, tweetIdentifier.Id)); query.AddParameterToQuery("count", maxRetweetsToRetrieve); return(query.ToString()); }
// Get Retweets public string GetRetweetsQuery(ITweetIdentifier tweetIdentifier, int maxRetweetsToRetrieve) { _tweetQueryValidator.ThrowIfTweetCannotBeUsed(tweetIdentifier); var query = new StringBuilder(string.Format(Resources.Tweet_Retweet_GetRetweets, tweetIdentifier.Id)); query.AddParameterToQuery("count", maxRetweetsToRetrieve); query.AddFormattedParameterToQuery(_queryParameterGenerator.GenerateTweetModeParameter(_tweetinviSettingsAccessor.CurrentThreadSettings.TweetMode)); return(query.ToString()); }
public string GetRetweeterIdsQuery(ITweetIdentifier tweetIdentifier, int maxRetweetersToRetrieve = 100) { _tweetQueryValidator.ThrowIfTweetCannotBeUsed(tweetIdentifier); var query = new StringBuilder(string.Format(Resources.Tweet_GetRetweeters, tweetIdentifier.Id)); query.AddParameterToQuery("id", tweetIdentifier.Id); query.AddParameterToQuery("count", maxRetweetersToRetrieve); return(query.ToString()); }
public void ValidateTweetIdentifier(ITweetIdentifier tweetIdentifier) { if (tweetIdentifier == null) { throw new ArgumentException("TweetIdentifier"); } if (!IsValidTweetIdentifier(tweetIdentifier)) { throw new ArgumentException("TweetIdentifier is not valid."); } }
public void ThrowIfTweetCannotBeUsed(ITweetIdentifier tweet, string parameterName) { if (tweet == null) { throw new ArgumentNullException($"{nameof(tweet)}"); } if (!IsValidTweetIdentifier(tweet)) { throw new ArgumentException(parameterName); } }
public void ThrowIfTweetCannotBeUsed(ITweetIdentifier tweet) { if (tweet == null) { throw new ArgumentNullException("Tweet cannot be null."); } if (tweet.Id == TweetinviSettings.DEFAULT_ID) { throw new ArgumentNullException("Tweet id is invalid."); } }
private string GetTweetId(ITweetIdentifier tweetIdentifier) { if (tweetIdentifier == null) { return(null); } var tweetId = tweetIdentifier.IdStr; if (string.IsNullOrEmpty(tweetId)) { tweetId = tweetIdentifier.Id.ToString(CultureInfo.InvariantCulture); } return(tweetId); }
public bool IsValidTweetIdentifier(ITweetIdentifier tweetIdentifier) { return(tweetIdentifier != null && tweetIdentifier.Id > 0); }
// Get Retweets public string GetRetweetsQuery(ITweetIdentifier tweetIdentifier, int maxRetweetsToRetrieve) { _tweetQueryValidator.ValidateTweetIdentifier(tweetIdentifier); var query = new StringBuilder(string.Format(Resources.Tweet_Retweet_GetRetweets, tweetIdentifier.Id)); query.AddParameterToQuery("count", maxRetweetsToRetrieve); return query.ToString(); }
public UnfavoriteTweetParameters(ITweetIdentifier tweet) { Tweet = tweet; }
public IEnumerable <long> GetRetweetersIds(ITweetIdentifier tweetIdentifier, int maxRetweetersToRetrieve) { var query = _tweetQueryGenerator.GetRetweeterIdsQuery(tweetIdentifier, maxRetweetersToRetrieve); return(_twitterAccessor.ExecuteCursorGETQuery <long, IIdsCursorQueryResultDTO>(query)); }
public ITweet PublishTweetInReplyTo(string text, ITweetIdentifier tweet) { var parameters = new PublishTweetOptionalParameters(); parameters.InReplyToTweet = tweet; return PublishTweet(text, parameters); }
/// <summary> /// Get the retweeter Ids who tweeted a specific tweet /// </summary> public static IEnumerable <long> GetRetweetersIds(ITweetIdentifier tweetIdentifier, int maxRetweetersToRetrieve = 100) { return(TweetController.GetRetweetersIds(tweetIdentifier, maxRetweetersToRetrieve)); }
// UnRetweet /// <summary> /// Publish a unretweet tweet /// </summary> public static bool UnRetweet(ITweetIdentifier tweet) { return(TweetController.UnRetweet(tweet) != null); }
// Get Retweet /// <summary> /// Get the retweets of a specific tweet /// </summary> public static IEnumerable <ITweet> GetRetweets(ITweetIdentifier tweet) { return(TweetController.GetRetweets(tweet)); }
public IEnumerable<ITweetDTO> GetRetweets(ITweetIdentifier tweetIdentifier, int maxRetweetsToRetrieve) { var query = _tweetQueryGenerator.GetRetweetsQuery(tweetIdentifier, maxRetweetsToRetrieve); return _twitterAccessor.ExecuteGETQuery<IEnumerable<ITweetDTO>>(query); }
// Publish UnRetweet public ITweetDTO UnRetweet(ITweetIdentifier tweetToRetweet) { string query = _tweetQueryGenerator.GetUnRetweetQuery(tweetToRetweet); return _twitterAccessor.ExecutePOSTQuery<ITweetDTO>(query); }
public IEnumerable<long> GetRetweetersIds(ITweetIdentifier tweetIdentifier, int maxRetweetersToRetrieve) { var query = _tweetQueryGenerator.GetRetweeterIdsQuery(tweetIdentifier, maxRetweetersToRetrieve); return _twitterAccessor.ExecuteCursorGETQuery<long, IIdsCursorQueryResultDTO>(query); }
public GetTweetParameters(ITweetIdentifier tweet) { Tweet = tweet; }
// Publish UnRetweet public ITweet UnRetweet(ITweetIdentifier tweet) { var tweetDTO = _tweetQueryExecutor.UnRetweet(tweet); return(_tweetFactory.GenerateTweetFromDTO(tweetDTO)); }
public string GenerateTweetIdentifier(ITweetIdentifier tweetId) { return(tweetId.IdStr ?? tweetId.Id.ToString()); }
public IEnumerable <long> GetRetweetersIds(ITweetIdentifier tweetIdentifier, int maxRetweetersToRetrieve = 100) { return(_tweetQueryExecutor.GetRetweetersIds(tweetIdentifier, maxRetweetersToRetrieve)); }
// Get Retweets public string GetRetweets(ITweetIdentifier tweetIdentifier, int maxRetweetsToRetrieve = 100) { string query = _tweetQueryGenerator.GetRetweetsQuery(tweetIdentifier, maxRetweetsToRetrieve); return _twitterAccessor.ExecuteGETQueryReturningJson(query); }
// UnRetweet public string GetUnRetweetQuery(ITweetIdentifier tweetIdentifier) { if (tweetIdentifier == null) { return null; } return GetUnRetweetQuery(tweetIdentifier.Id); }
public IEnumerable <ITweet> GetRetweets(ITweetIdentifier tweetIdentifier, int maxRetweetsToRetrieve = 100) { var retweetsDTO = _tweetQueryExecutor.GetRetweets(tweetIdentifier, maxRetweetsToRetrieve); return(_tweetFactory.GenerateTweetsFromDTO(retweetsDTO)); }
/// <summary> /// Get the retweeter Ids who tweeted a specific tweet /// </summary> public static IEnumerable<long> GetRetweetersIds(ITweetIdentifier tweetIdentifier, int maxRetweetersToRetrieve = 100) { return TweetController.GetRetweetersIds(tweetIdentifier, maxRetweetersToRetrieve); }
// Get Retweet /// <summary> /// Get the retweets of a specific tweet /// </summary> public static IEnumerable<ITweet> GetRetweets(ITweetIdentifier tweet) { return TweetController.GetRetweets(tweet); }
// UnRetweet /// <summary> /// Publish a unretweet tweet /// </summary> public static bool UnRetweet(ITweetIdentifier tweet) { return TweetController.UnRetweet(tweet) != null; }
public IEnumerable <ITweetDTO> GetRetweets(ITweetIdentifier tweetIdentifier, int maxRetweetsToRetrieve) { var query = _tweetQueryGenerator.GetRetweetsQuery(tweetIdentifier, maxRetweetsToRetrieve); return(_twitterAccessor.ExecuteGETQuery <IEnumerable <ITweetDTO> >(query)); }
// UnRetweet public string GetUnRetweetQuery(ITweetIdentifier tweetIdentifier) { _tweetQueryValidator.ThrowIfTweetCannotBeUsed(tweetIdentifier); return(GetUnRetweetQuery(tweetIdentifier.Id)); }
// Publish UnRetweet public ITweetDTO UnRetweet(ITweetIdentifier tweetToRetweet) { string query = _tweetQueryGenerator.GetUnRetweetQuery(tweetToRetweet); return(_twitterAccessor.ExecutePOSTQuery <ITweetDTO>(query)); }
// Get Retweets public string GetRetweetsQuery(ITweetIdentifier tweetIdentifier, int maxRetweetsToRetrieve) { _tweetQueryValidator.ThrowIfTweetCannotBeUsed(tweetIdentifier); var query = new StringBuilder(string.Format(Resources.Tweet_Retweet_GetRetweets, tweetIdentifier.Id)); query.AddParameterToQuery("count", maxRetweetsToRetrieve); query.Append(_queryParameterGenerator.GenerateTweetModeParameter(_tweetinviSettingsAccessor.CurrentThreadSettings.TweetMode)); return query.ToString(); }
public IEnumerable<long> GetRetweetersIds(ITweetIdentifier tweetIdentifier, int maxRetweetersToRetrieve = 100) { return _tweetQueryExecutor.GetRetweetersIds(tweetIdentifier, maxRetweetersToRetrieve); }
public async Task CreateReadDelete() { if (!EndToEndTestConfig.ShouldRunEndToEndTests) { return; } var sourceTweet = await _protectedClient.Tweets.GetTweet(979753598446948353); var quotingTweet1 = await _protectedClient.Tweets.PublishTweet(new PublishTweetParameters("tweetinvi 3.0!") { QuotedTweetUrl = "https://twitter.com/TweetinviApi/status/979753598446948353", }); var quotingTweet2 = await _protectedClient.Tweets.PublishTweet(new PublishTweetParameters("Tweetinvi 3 v2!") { QuotedTweet = sourceTweet }); var replyTweet = await _protectedClient.Tweets.PublishTweet(new PublishTweetParameters("Tweetinvi 3 v2!") { InReplyToTweetId = sourceTweet.Id, AutoPopulateReplyMetadata = true }); var fullTweet = await _protectedClient.Tweets.PublishTweet(new PublishTweetParameters("#tweetinvi and https://github.com/linvi/tweetinvi Full Tweet!") { Coordinates = new Coordinates(37.7821120598956, -122.400612831116), DisplayExactCoordinates = true, TrimUser = true, PlaceId = "3e8542a1e9f82870", }); var tweetinviLogoBinary = File.ReadAllBytes("./tweetinvi-logo-purple.png"); var media = await _protectedClient.Upload.UploadTweetImage(tweetinviLogoBinary); var tweetWithMedia = await _protectedClient.Tweets.PublishTweet(new PublishTweetParameters("tweet with media") { Medias = { media }, PossiblySensitive = true, }); var allTweetIdentifiers = new ITweetIdentifier[] { quotingTweet1, quotingTweet2, replyTweet, fullTweet, tweetWithMedia }; var allTweets = await _protectedClient.Tweets.GetTweets(allTweetIdentifiers); await _protectedClient.Tweets.DestroyTweet(quotingTweet1); await _protectedClient.Tweets.DestroyTweet(quotingTweet2); await _protectedClient.Tweets.DestroyTweet(replyTweet); await _protectedClient.Tweets.DestroyTweet(fullTweet); await _protectedClient.Tweets.DestroyTweet(tweetWithMedia); // ASSERT Assert.Equal(979753598446948353, quotingTweet1.QuotedStatusId); Assert.Equal(979753598446948353, quotingTweet2.QuotedStatusId); Assert.Equal(sourceTweet.Id, replyTweet.InReplyToStatusId); Assert.Equal("TweetinviApi", replyTweet.UserMentions[0].ScreenName); Assert.Null(fullTweet.CreatedBy.Name); Assert.Equal(37, Math.Floor(fullTweet.Coordinates.Latitude)); Assert.Equal(-122, Math.Ceiling(fullTweet.Coordinates.Longitude)); Assert.Equal("Toronto", fullTweet.Place.Name); Assert.Equal("tweetinvi", fullTweet.Hashtags[0].Text); Assert.Single(fullTweet.Entities.Hashtags); Assert.Equal("https://github.com/linvi/tweetinvi", fullTweet.Urls[0].ExpandedURL); Assert.Single(fullTweet.Entities.Urls); Assert.Single(tweetWithMedia.Media); Assert.True(tweetWithMedia.PossiblySensitive); Assert.True(allTweetIdentifiers.Select(x => x.Id).All(shouldItem => allTweets.Any(isItem => isItem.Id == shouldItem))); }
public string GetRetweeterIdsQuery(ITweetIdentifier tweetIdentifier, int maxRetweetersToRetrieve = 100) { _tweetQueryValidator.ThrowIfTweetCannotBeUsed(tweetIdentifier); var query = new StringBuilder(string.Format(Resources.Tweet_GetRetweeters, tweetIdentifier.Id)); query.AddParameterToQuery("id", tweetIdentifier.Id); query.AddParameterToQuery("count", maxRetweetersToRetrieve); return query.ToString(); }
public IEnumerable<ITweet> GetRetweets(ITweetIdentifier tweetIdentifier, int maxRetweetsToRetrieve = 100) { var retweetsDTO = _tweetQueryExecutor.GetRetweets(tweetIdentifier, maxRetweetsToRetrieve); return _tweetFactory.GenerateTweetsFromDTO(retweetsDTO); }
// UnRetweet public string GetUnRetweetQuery(ITweetIdentifier tweetIdentifier) { _tweetQueryValidator.ThrowIfTweetCannotBeUsed(tweetIdentifier); return GetUnRetweetQuery(tweetIdentifier.Id); }
// Publish UnRetweet public ITweet UnRetweet(ITweetIdentifier tweet) { var tweetDTO = _tweetQueryExecutor.UnRetweet(tweet); return _tweetFactory.GenerateTweetFromDTO(tweetDTO); }
/// <summary> /// Publish a tweet in reply to another one /// </summary> public static ITweet PublishTweetInReplyTo(string text, ITweetIdentifier tweetToReplyTo) { return(TweetController.PublishTweetInReplyTo(text, tweetToReplyTo)); }
// Publish TweetInReplyTo From Text public static async Task <ITweet> PublishTweetInReplyTo(string text, ITweetIdentifier tweetToReplyTo) { return(await Sync.ExecuteTaskAsync(() => Tweet.PublishTweetInReplyTo(text, tweetToReplyTo))); }
public static ITweet PublishTweetInReplyTo(string text, ITweetIdentifier tweetToReplyTo) { return TweetController.PublishTweetInReplyTo(text, tweetToReplyTo); }
public bool IsValidTweetIdentifier(ITweetIdentifier tweetIdentifier) { return tweetIdentifier != null && tweetIdentifier.Id > 0; }
public DestroyTweetParameters(ITweetIdentifier tweet) { Tweet = tweet; }
public Task DestroyTweetAsync(ITweetIdentifier tweet) { return(DestroyTweetAsync(new DestroyTweetParameters(tweet))); }
// Publish TweetInReplyTo From Text public static async Task<ITweet> PublishTweetInReplyTo(string text, ITweetIdentifier tweetToReplyTo) { return await Sync.ExecuteTaskAsync(() => Tweet.PublishTweetInReplyTo(text, tweetToReplyTo)); }
public void ThrowIfTweetCannotBeUsed(ITweetIdentifier tweet) { ThrowIfTweetCannotBeUsed(tweet, $"{nameof(tweet)}.{nameof(tweet.Id)}"); }
public GetRetweeterIdsParameters(ITweetIdentifier tweet) : this() { Tweet = tweet; }