Skip to content

aktaat/CoreTweet

 
 

Repository files navigation

CoreTweet

Build Status on Travis CI Build Status on AppVeyor

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:

using CoreTweet.Streaming.Reactive;

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
  • Windows 8.1
  • Windows Phone 8 Silverlight
  • Windows Phone 8.1
  • Xamarin Android / iOS

Files

CoreTweet.dll
the main library
CoreTweet.Streaming.Reactive.dll
the extension for Rx
CoreTweet.FSharp.dll
the records for F# users

Documentation

Documents of API is here.

Visit Wiki to get more information such as examples.

Install

Now available on NuGet!

PM> Install-Package CoreTweet
PM> Install-Package CoreTweet.Streaming.Reactive
PM> Install-Package CoreTweet.FSharp

Or please download a binary from Releases.

Build

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

On Windows

Requires

  • .NET Framework 4.5
  • Windows PowerShell
  • Visual Studio 2013
  • Xamarin Starter

Step

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

On Linux and other Unix-like

Requires

  • Mono 3.x or above
  • make
  • XBuild
  • Doxygen (if not installed, automatically build from source)

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 documents, articles or/and some tips!

Pull requests are welcome.

License

This software is licensed under the MIT License.

About

Yet Another .NET Twitter Library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.0%
  • Other 1.0%