CoreTweet

Yet Another .NET Twitter Library

Follow me on GitHub

CoreTweet

Build Status on Travis CI Build Status on AppVeyor Gitter chat Standard v2

Yet Another .NET Twitter Library…

Simplest authorizing:

var session = OAuth.Authorize("consumer_key", "consumer_secret");
var tokens = OAuth.GetTokens(session, "PINCODE");

Tweeting is very easy:

tokens.Statuses.Update(status => "hello");

We provide the most modern way to use Twitter’s API asynchronously:

var tokenSource = new CancellationTokenSource();
var task = tokens.Statuses.UpdateWithMediaAsync(
    new { status = "Yummy!", media = new FileInfo(@"C:\test.jpg") },
    tokenSource.Token
);
// oh! that was a photo of my dog!!
tokenSource.Cancel();

Go with the Streaming API and LINQ:

var sampleStream = tokens.Streaming.Sample()
    .OfType<StatusMessage>()
    .Select(x => x.Status);
foreach(var status in sampleStream)
    Console.WriteLine("{0}: {1}", status.User.ScreenName, status.Text);

Get fantastic experiences with Rx:

var disposable = tokens.Streaming.FilterAsObservable(track => "tea")
    .OfType<StatusMessage>()
    .Subscribe(x => Console.WriteLine("{0} says about tea: {1}", x.Status.User.ScreenName, x.Status.Text));

await Task.Delay(30 * 1000);
disposable.Dispose();

Various types of method overloads:

tokens.Statuses.Update(status => "hello");

tokens.Statuses.Update(new { status = "hello" });

tokens.Statuses.Update(new YourClass("hello"));

tokens.Statuses.Update(status: "hello");

tokens.Statuses.Update(new Dictionary<string, object>()
{
    {"status", "hello"}
});

Oh yes why don’t you throw away any StatusUpdateOptions and it kinds???

Latest Build Results

Platforms

We support both of Windows .NET and Mono, and CoreTweet works on following platforms:

  • .NET Framework 3.5 (without Rx support)
  • .NET Framework 4.0
  • .NET Framework 4.5
  • .NET Standard 1.3
  • Universal Windows Platform
  • Xamarin Android / iOS

Documentation

Documents of API is here.

Visit Wiki to get more information such as examples.

Install

Now available on NuGet!

PM> Install-Package CoreTweet

Or please download a binary from Releases.

Build

You can’t build PCL/WindowsRT binaries on Mono (on Linux) because they require non-free libraries.

On Windows

Requires

  • .NET Framework 4.6
  • Windows PowerShell
  • Visual Studio 2017
  • .NET Core 3.1 SDK
  • Doxygen (optional: used to generate documentation)

Step

  • Run PowerShell as an admin and execute
Set-ExecutionPolicy AllSigned
  • Run build.ps1

On Linux and other Unix-like

Requires

  • Mono 4.x or above
  • make
  • XBuild
  • Doxygen (optional: used to generate documentation)

Step

  • Run make

Contributing

Please report to Issues if you find any problems.

We seriously need your help for writing documents.

Please go to Wiki and write API documentation, articles and/or some tips!

Pull requests are welcome.

License

This software is licensed under the MIT License.