Как стать автором
Обновить

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

Время на прочтение4 мин
Количество просмотров2.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.
Теги:
Хабы:
Всего голосов 37: ↑34 и ↓3+31
Комментарии7

Публикации

Истории

Работа

.NET разработчик
69 вакансий

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область