Skip to content

hinaloe/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();
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:

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

Get fantastic experiences with Rx:

using CoreTweet.Streaming.Reactive;

var disposable = t.Streaming.StartObservableStream(StreamingType.Filter, new StreamingParameters(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

Documentation

Documents of API is here.

Visit Wiki to get more information such as examples.

Install

Now available on NuGet!

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.1%
  • Other 0.9%