Skype のムードメッセージでカウントダウン
後輩の誕生日に向けてカウントダウンしたかったので作ってみた。
まず Skype Developer Zone のページからサンプルコードをダウンロードします。
Skype.framework と書かれたリンク。ファイル名は example_macosx_290507.dmg です。
ダウンロードしたディスクイメージを開くと SkypeAPITestSource というフォルダがあるので適当な場所にコピーします。
このサンプルは、はじめの図のように Skype API のコマンドを入力して Skype を操作することができる。なので書くのはカウントダウンする部分だけ。
まず SkypeController.h にタイマーと目標の日付を示す変数を追加する。
NSTimer *timer; NSDate *goal;
そしてタイマーにより呼ばれるメソッドを追加。
- (IBAction)timeUpdate:(id)sender;
続いて SkypeController.m
Connect ボタンが押されたときに呼ばれる (IBAction)onConnectBtn:(id)sender に、目標の日付を初期化するコードと、タイマーを開始するコードを追加。
goal = [[NSDate alloc] initWithString:@"2009-11-03 00:00:00 +0900"]; timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(timeUpdate:) userInfo:nil repeats:YES];
Disconnect ボタンが押されたときにはそれらを破棄する。
[timer release]; [goal release];
最後の仕上げにタイマーから呼ばれてムードメッセージを更新するメソッドを書きます。
- (IBAction)timeUpdate:(id)sender { // goal からの時間差(秒)を取得 NSTimeInterval restt = [goal timeIntervalSinceNow]; // ムードメッセージを更新する NSString *commandString = [[NSString alloc] initWithFormat:@"SET PROFILE MOOD_TEXT うなの誕生日まであと %.0f 秒\n", restt]; NSString* returnedString = [SkypeAPI sendSkypeCommand:commandString]; [commandString release]; }
はいこれだけであっけなくできてしまいました。
次回はメッセージの内容や日付を設定するインターフェースを付けて、簡単に使えるようにしたいと思います。
誕生日おめでとう!