Skip to content

Tweetinvi 0.9.11.0

Compare
Choose a tag to compare
@linvi linvi released this 05 Mar 17:17
· 976 commits to master since this release

Breaking Changes

This version contains breaking changes specially because of naming improvements :

  • LoggedUser => AuthenticatedUser.

The class and interface are now AuthenticatedUser and IAuthenticatedUser.
To get the authenticated user please do the same as before :

var authenticatedUser = User.GetAuthenticatedUser();
  • TokenRateLimits => CredentialsRateLimits
  • TokenRateLimit => EndpointRateLimits
  • Favourites => Favorites
  • IFilteredStream.MatchingTweetAndLocationReceived have been removed (see more).
  • Settings.ShowDebug does no longer exist as all the information it provided are now available in the TweetinviEvents.

Tweet

  • Updated TweetLength calculation to match the new Twitter calculation.
  • You now have access to the unretweet endpoint.
var success = = Tweet.UnRetweet(tweet);
// OR
var tweet = Tweet.GetTweet(...);
tweet.UnRetweet();
  • User.GetFavorites can now take optional parameters.
User.GetFavoritedTweets("tweetinviapi", new GetUserFavoritesParameters()
{
    MaximumNumberOfTweetsToRetrieve = 10,
    IncludeEntities = true,
    SinceId = 42,
    MaxId = 4242
});

Filtered Streams

The matching mechanism has been improved to analyze all the different tweet fields that are used by the Twitter Stream API to filter tweets.

MatchOn

FilteredStream now have a new MatchOn property that specify which fields need to be analyzed to match Tweets. In Tweetinvi <= 0.9.10.2, the matching process only considered the Text property.

In this new version, Tweetinvi matches with ALL the fields by default (MatchOn.Everything).

// Match only on the Tweet Text or any of the entities of the tweet,
fs.MatchOn = MatchOn.TweetText | MatchOn.AllEntities; 

MatchingTweetReceived

MatchingTweetReceived event args now includes all the matching information that are used by Tweetinvi to detect if a Tweet is matching or not.

var tracks = args.MatchingTracks;
var followers = args.MatchingFollowers; // new
var locations = args.MatchingLocations; // new

The event args now also includes a new MatchOn property that let you know which fields of the Tweet have been used to match the tweet.

Therefore if args.MatchOn == MatchOn.UrlEntities it means that the tweet has been matched on a url but not via the text.

MatchingTweetAndLocationReceived

This event has been deleted because you can now access all the information in MatchingTweetReceived as explained above.

Rate Limits

TwitterQuery now includes 2 new fields that are QueryRateLimits and CredentialsRateLimits.
This can be quite useful when registering the TweetinviEvents.

Videos Upload

  • Videos are now automatically uploaded in chunks of 2 MB. This simplify the upload of videos > 5 MB.

Other improvements

  • Improved the models documentation.
  • Improved error handling.
  • UnBlockUser is now accessible from the AuthenticatedUser as well as the static User class.
var success = User.UnBlockUser("bidochon");
// OR
var authenticatedUser = User.GetAuthenticatedUser();
authenticatedUser.UnBlockUser("bidochon");
  • ITrends now includes the tweet_volume field/

Bug Fixes

  • Fixed potential deadlock when using tweetinvi async functions.
  • PublishTweet/Message failed when used with a mix of special characters.
  • Tweet.GetTweets correctly returns collection with a single matching element.