Pull to refresh

Твиттерим на C#

Reading time4 min
Views2.3K
Вчера наткнулся на такую библиотеку — tweetsharp. Она маленькая, умная и быстрая.
Так что вполне можно строить свои клиентики и например даже боты для особо больших извращенцев :)


Описание библиотеки

Вот пример использования:

using System;
using Dimebrain.TweetSharp.Extensions;
using Dimebrain.TweetSharp.Fluent;
using Dimebrain.TweetSharp.Model;

namespace TestTwiterLib
{
  class Program
  {
    //-------------- Стартуемс ---------------
    static void Main(string[] args)
    {
      SendDirectMessage("логин", "пароль", "логин кому", "сообщение");
      DoStatusUpdate("логин", "пароль", "Testing C# library for Twiter");
      ReadMyFriends("логин", "пароль");
      ReadMyDirectMessages("логин", "пароль");

      Console.Read();
    }

    //Читаем свои входящие
    static void ReadMyDirectMessages(string User, string Pass)
    {
      var twitter = FluentTwitter.CreateRequest()
        .AuthenticateAs(User, Pass)
        .DirectMessages().Received().AsJson();

      if (twitter != null)
      {
        var messages = twitter.Request().AsDirectMessages();

        foreach (TwitterDirectMessage message in messages)
        {
          Console.Write(Environment.NewLine);
          Console.Write("---> From: " + message.Sender.Name);
          Console.Write(Environment.NewLine);
          Console.Write("==============================");
          Console.Write(Environment.NewLine);
          Console.Write(message.Text);
          Console.Write(Environment.NewLine);
          Console.Write("==============================");
        }
      }
    }

    //Почитаем своих друзей
    static void ReadMyFriends(string User, string Pass)
    {
      var twitter = FluentTwitter.CreateRequest()
             .AuthenticateAs(User, Pass)
             .Statuses().OnFriendsTimeline().AsJson();

      if (twitter != null)
      {
        var statuses = twitter.Request().AsStatuses();

        foreach (TwitterStatus status in statuses)
        {
          Console.Write(Environment.NewLine);
          Console.Write("---> From: " + status.User.Name);
          Console.Write(Environment.NewLine);
          Console.Write("==============================");
          Console.Write(Environment.NewLine);
          Console.Write(status.Text);
          Console.Write(Environment.NewLine);
          Console.Write("==============================");
        }
      }
    }

    //Пошлем кому нить сообщение
    static void SendDirectMessage( string UserFrom, string Pass,
                    string UserTo, string Message)
    {
      var twitter = FluentTwitter.CreateRequest();
      twitter.AuthenticateAs(UserFrom, Pass);
      twitter.DirectMessages().Send(UserTo, Message);

      twitter.RequestAsync();
    }

    //Обновим-ка статус
    static void DoStatusUpdate(string User, string Pass, string Message)
    {
      var twitter = FluentTwitter.CreateRequest();
      twitter.AuthenticateAs(User, Pass);
      twitter.Statuses().Update(Message);

      twitter.RequestAsync();
    }

  }
}

* This source code was highlighted with Source Code Highlighter.
Tags:
Hubs:
Total votes 37: ↑34 and ↓3+31
Comments7

Articles