
こんにちは、Habrahabrのユーザーの皆様。
この記事では、Windowsサーバーの状態(ビジーディスク領域、CPU負荷率、RAM)を監視するのに役立つ、Twitter用の非常にシンプルで便利なボットについて説明します。
まえがき
私は缶詰工場でシステム管理者として働いています。 会社は専門化されていないため、管理者であり、プログラマーである必要があります。
このボットを作成する理由は、1Cデータベースの毎日のバックアップにより、サーバーのハードドライブのスペースが急速に不足するためです。
私は長い間そのような制御の可能なオプションについて考え、Twitterがこのための最も便利なソリューションであるという結論に達しました。 だから、言葉から行為まで。
準備する
C#でボットを記述するため、次のものが必要になります。
- Microsoft Visual Studio 2008-2010すべてのエディション(またはSharpDevelop 3.2-4.x)
- .NET FrameworkでTwitterを操作するためのTwitterizerライブラリ
- 少しの忍耐
開発
開発者のサイトからライブラリをダウンロードし、そのコンテンツをプロジェクトのディレクトリに展開します。 Twitterizer2.dllとNewtonsoft.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に送信され、ツイートの送信日時、送信ステータス、メッセージの文字数が下のリストに表示されます。
おわりに
将来的には、次の機能を実装する予定です。
- ダイレクトメッセージを介して詳細情報を送信する
- ダイレクトメッセージとメンティノを使用したボット管理
- 設定を保存する
- ロギング
ボットの次のバージョンで実装される機能は次のとおりです。
ご清聴ありがとうございました。皆が興味を持っていたことを願っています。 創造的な成功をお祈りします!
参照資料
プログラムソース
Twitterizer開発者サイト
開発者のサイトにあるTwitterizerのドキュメント