linqtotwitter 6.15.0

.NET 6.0
dotnet add package linqtotwitter --version 6.15.0
NuGet\Install-Package linqtotwitter -Version 6.15.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="linqtotwitter" Version="6.15.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add linqtotwitter --version 6.15.0
#r "nuget: linqtotwitter, 6.15.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install linqtotwitter as a Cake Addin
#addin nuget:?package=linqtotwitter&version=6.15.0

// Install linqtotwitter as a Cake Tool
#tool nuget:?package=linqtotwitter&version=6.15.0

LINQ to Twitter

LINQ to Twitter is an open source 3rd party LINQ Provider (Twitter Library) for the Twitter micro-blogging service. It uses standard LINQ syntax for queries and includes method calls for changes via the Twitter API.

Standard Labs v2

Example

The following query returns search results where people are tweeting about LINQ to Twitter:

var twitterCtx = new TwitterContext(...);

var searchResponse =
    await
    (from search in twitterCtx.Search
     where search.Type == SearchType.Search &&
           search.Query == "\"LINQ to Twitter\""
     select search)
    .SingleOrDefaultAsync();

if (searchResponse != null && searchResponse.Statuses != null)
    searchResponse.Statuses.ForEach(tweet =>
        Console.WriteLine(
            "User: {0}, Tweet: {1}", 
            tweet.User.ScreenNameResponse,
            tweet.Text));

From a coding experience perspective, the TwitterContext type is analogous to the Entity Framework DBContext. You use the TwitterContext instance, twitterCtx, to access IQueryable<T> tweet categories. In the example above, the Search will give you the ability to search Twitter for tweets meeting some criteria.

Note: The ellipses in the TwitterContext parameters indicates that you need to provide an authorizer with credentials, which is required. You can visit Securing Your Applications for documentation on authorizers and visit the Download page for working examples.

Each query category has a Type property for the type of tweets you want to get back. For example, Status tweets can be made for Home, Mentions, or User timelines. Each query category also has an XxxType enum to help you figure out what is available. The example above uses SearchType.Search to perform searches. Another example would be Status queries which might have StatusType.Home as its Type. In the case of Search queries, Search is the only option, but the Type idiom is consistent accross all query categories.

Just like other LINQ providers, you get an IQueryable<T> back from the query. You can see how to materialize the query by invoking the SingleOrDefaultAsync operator. For Search results, you receive one Search entity that contains information about the Search query and the Search entity contains a Statuses property that is a collection of Status entities. On other queries, you would materialize the query with ToListAsync for multiple results. Just like other LINQ providers, LINQ to Twitter does deferred execution, so operators such as ToListAsync and SingleOrDefaultAsync or statements such as for and foreach loops will cause the query to execute and make the actual call to Twitter.

The latest version of LINQ to Twitter supports async. You can see this where the code above await's the query, using the SingleOrDefaultAsync operator. Commands are async also. e.g. await TweetAsync("Hello from LINQ to Twitter").

For more details on how LINQ to Twitter works, you can visit Making API Calls for API specific examples. The downloadable source code also contains copious examples in the projects. Just look in the Samples folder.

NuGet

In addition to being able to download from this site, you can also automatically install LINQ to Twitter into your Visual Studio projects via NuGet;

Available Feature Set

See LINQ to Twitter v6 APIs.

For more info:

  • follow @JoeMayo for releases and related blog posts.
  • follow @Linq2Twitr for more detailed project information.
Product Versions
.NET net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (15)

Showing the top 5 NuGet packages that depend on linqtotwitter:

Package Downloads
Kentico.Libraries The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

The runtime assemblies for libraries and applications that use Kentico API.

SyScript.Core

SyScript Core

Equ.Umbraco.Bootstrap

Equ Umbraco Bootstrap

uBeSocial

uBeSocial is an Umbraco Back-Office extension that allows for easy posting to multiple social networks at once.

SocialClient

Package Description

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on linqtotwitter:

Repository Stars
xamarinhq/app-conference
Pre-build conference application built with Xamarin
JoeMayo/LinqToTwitter
LINQ Provider for the Twitter API (C# Twitter Library)
SaviorXTanren/mixer-mixitup
Streaming bot application for handling chat, events, moderation, and other streamer assistance features
Version Downloads Last updated
6.15.0 13,820 6/29/2022
6.14.0 10,607 2/7/2022
6.12.0 711 2/1/2022
6.11.0 2,412 1/24/2022
6.10.0 3,024 12/28/2021
6.9.0 6,770 10/26/2021
6.8.0 4,808 9/21/2021
6.7.1 5,601 6/24/2021
6.7.0 613 6/24/2021
6.6.0 40,404 4/8/2021
6.5.0 1,326 2/24/2021
6.4.0 7,419 1/19/2021
6.3.0 1,248 12/28/2020
6.2.1 534 12/21/2020
6.2.0 636 12/21/2020
6.1.0 839 11/30/2020
6.0.0 1,258 11/11/2020
5.1.3 68,382 8/30/2020
5.1.2 16,722 4/28/2020
5.1.1 15,365 4/17/2020
5.1.0 5,822 4/14/2020
5.0.0 469,819 9/24/2018
5.0.0-beta3 3,669 6/3/2018
5.0.0-beta2 12,231 3/21/2018
5.0.0-beta1 7,853 12/25/2017
4.2.1 66,834 12/21/2017
4.2.0 1,689 12/18/2017
4.2.0-beta3 1,071 12/13/2017
4.2.0-beta2 48,596 1/16/2017
4.2.0-beta1 1,030 1/10/2017
4.1.0 323,956 2/21/2016
4.0.0 738,088 2/15/2016
4.0.0-beta2 2,874 11/9/2015
4.0.0-beta1 1,719 7/27/2015
3.1.2 145,041 2/5/2015
3.1.1 14,635 11/24/2014
3.1.0 4,611 10/31/2014
3.0.5 3,798 10/13/2014
3.0.4 74,002 6/16/2014
3.0.3 5,042 5/19/2014
3.0.2 52,938 2/3/2014
3.0.1-beta3 1,677 1/8/2014
2.1.11 51,129 11/26/2013
2.1.10 50,746 10/22/2013
2.1.9 4,080 10/15/2013
2.1.8 16,207 7/23/2013
2.1.7 3,725 7/9/2013
2.1.6 41,347 6/10/2013
2.1.5 7,751 4/8/2013
2.1.4 5,270 3/15/2013
2.1.3 20,060 1/2/2013
2.1.2 35,104 11/6/2012
2.1.1 9,762 9/20/2012
2.0.29 2,755 8/22/2012
2.0.28 6,243 7/15/2012
2.0.27 2,334 6/15/2012
2.0.26 1,992 6/7/2012
2.0.25 2,203 5/14/2012
2.0.24 2,691 4/11/2012
2.0.23 4,709 1/24/2012
2.0.22 2,428 11/30/2011
2.0.21 7,563 7/11/2011
2.0.20 3,844 3/15/2011

- Upgraded to .NET 6 (Thanks Adam Swanson)
- Updated Issue/General Templates (Thanks Jaap)
- Updated license to MIT
- Implements Bookmarks
- Supports Quote Tweets
- Includes Reverse Chronological Timelines
- Adds polls to Tweet Include Responses
- Supports NewestID and OldestID in TweetMeta
- Improved error message handling
- Updated Raw Queries to use Twitter API v2 Base URL
- Supports ID on TweetEntityMention
- Fixed PlaceField.CountryCode spelling
- Added error handling for new JSON format on duplicate tweets
- Added subscriber_count and other fields to Space queries
- Implemented Search Sort Order