C#のTwitterボット





こんにちは、Habrahabrのユーザーの皆様。

この記事では、Windowsサーバーの状態(ビジーディスク領域、CPU負荷率、RAM)を監視するのに役立つ、Twitter用の非常にシンプルで便利なボットについて説明します。



まえがき



私は缶詰工場でシステム管理者として働いています。 会社は専門化されていないため、管理者であり、プログラマーである必要があります。

このボットを作成する理由は、1Cデータベースの毎日のバックアップにより、サーバーのハードドライブのスペースが急速に不足するためです。

私は長い間そのような制御の可能なオプションについて考え、Twitterがこのための最も便利なソリューションであるという結論に達しました。 だから、言葉から行為まで。



準備する



C#でボットを記述するため、次のものが必要になります。

  1. Microsoft Visual Studio 2008-2010すべてのエディション(またはSharpDevelop 3.2-4.x)
  2. .NET FrameworkでTwitterを操作するためのTwitterizerライブラリ
  3. 少しの忍耐


開発



開発者のサイトからライブラリをダウンロードし、そのコンテンツをプロジェクトのディレクトリに展開します。 Twitterizer2.dllNewtonsoft.Json.dllの 2つのファイルのみが必要です。 Twitterizerライブラリーをプロジェクトに追加します。 プロジェクトを右クリック->参照の追加「参照」タブを選択し、 Twitterizer2.dllへのパスを指定します。







メインフォームコードに追加する



using Twitterizer;
      
      





これで、Twitterでの作業に直接アクセスできます。

アプリケーションを登録します。 Thevar1ableは、Pythonボットに関する彼の記事でこれについてよく書いています。

4つのキーが必要になります。 コンシューマキーコンシューマシークレットアクセストークンアクセストークンシークレットです。



すべてのアクションは、必要な情報をツイートの形で送信することになります。



  private bool SendTwit(string Twit) { OAuthTokens tokens = new OAuthTokens(); //    tokens.ConsumerKey = "xAWDWV5YE1F5gz3pHw"; // Consumer Key // Consumer Secret tokens.ConsumerSecret = "iSoQ5lYl24BolEdjTte0wnPN4KX9WuGGzJgJivg"; // AccessToken tokens.AccessToken = "370065603-6mRJ8vNHb6tFCKKQhQNxkVR0uy7kK7dFbt2UN"; // Access Token Secret tokens.AccessTokenSecret = "zYT39d8K8SQEm7OxUt1BUCpIZi0VixKElb9go0w"; //    TwitterResponse<TwitterStatus> tweetResponse = TwitterStatus.Update(tokens, Twit ); if (tweetResponse.Result == RequestResult.Success) //  { return true; //  } else { return false; //   } }
      
      







System.Diagnostics名前空間にあるPerformanceCounterクラスを使用して、プロセッサとRAMに関する情報を取得できます。



 private PerformanceCounter cpuCounter; //       private PerformanceCounter ramCounter; //   cpuCounter = new PerformanceCounter(); // //     ramCounter = new PerformanceCounter("Memory","Available MBytes"); cpuCounter.CategoryName = "Processor"; // cpuCounter.CounterName = "% Processor Time"; //  cpuCounter.InstanceName = "_Total"; // float RAMFree ramCounter.NextValue(); //     float CPULoad ramCounter.NextValue(); //   
      
      







その結果、次のようなものが得られました。





オリジナル



設定ウィンドウで、ステータスを更新する間隔(1、10、15、30、60分)を選択できます。 チェックマークが付いたデータがTwitterに送信され、ツイートの送信日時、送信ステータス、メッセージの文字数が下のリストに表示されます。



おわりに



将来的には、次の機能を実装する予定です。

  1. ダイレクトメッセージを介して詳細情報を送信する
  2. ダイレクトメッセージとメンティノを使用したボット管理
  3. 設定を保存する
  4. ロギング


ボットの次のバージョンで実装される機能は次のとおりです。

ご清聴ありがとうございました。皆が興味を持っていたことを願っています。 創造的な成功をお祈りします!



参照資料



プログラムソース

Twitterizer開発者サイト

開発者のサイトにあるTwitterizerのドキュメント



All Articles