« 今週のシンジくん月へ行く | ホーム | Firebugが諜報してます。 »
2007年5月11日
今週の自動化しよう
もとはといえばこの人が『らき☆すた』のOPの一節を曜日変えながらLive!メッセンジャーのステータスに載せてたからなんです。
tatenyon: 木曜日なーのに機嫌悪ーいのどーするーのー♪
hironobu> たてにょんもう金曜日だよたてにょん
tatenyon> かえるのわすれてた
tatenyon> っていうか自動化してえww
hironobu> ぶ
そんなわけでちょこっと調べてみたら結構簡単にできたのでした。.NETばんざい。
http://csharpfeeds.com/post.aspx?id=2218Auto-Responder Add-in for Windows Live Messenger : CSharpFeeds
http://community.bartdesmet.net/blogs/bart/archive/2006/09/17/4431.aspx
Your first Windows Live Messenger add-in - B# .NET Blog
これらを参考にしてつくってみましたよ。
http://foursics.jp/products/motteke.zip
もってけ!一週間 Live! Messengerアドイン
ソースはこちら。
using System;
using System.Collections.Generic;
using System.Text;
using System.Timers;
using Microsoft.Messenger;
namespace MottekeWeekdays
{
public class MottekeWeekdays : IMessengerAddIn
{
#region Private members
MessengerClient client;
Timer timer;
#endregion
#region IMessengerAddIn Members
public void Initialize(MessengerClient messenger)
{
this.client = messenger;
this.client.AddInProperties.FriendlyName = "もってけ!一週間";
this.client.AddInProperties.Creator = "Hironobu Koura";
this.client.AddInProperties.Description = "もってかれます。";
this.client.AddInProperties.Url = new Uri("http://foursics.jp");
UpdatePersonalStatusMessage();
this.timer = new Timer(60000);
// this.client.IncomingTextMessage += new EventHandler(client_IncomingTextMessage);
// this.client.OutgoingTextMessage += new EventHandler(client_OutgoingTextMessage);
this.timer.Elapsed += new ElapsedEventHandler(client_Elapsed);
this.timer.Enabled = true;
}
#endregion
#region Private methods
void client_IncomingTextMessage(object sender, IncomingTextMessageEventArgs e)
{
UpdatePersonalStatusMessage();
}
void client_OutgoingTextMessage(object sender, OutgoingTextMessageEventArgs e)
{
UpdatePersonalStatusMessage();
}
void UpdatePersonalStatusMessage()
{
string msg = DateTime.Now.ToString("ddd") + "曜日なーのに機嫌悪ーいのどーするーのー♪";
this.client.AddInProperties.PersonalStatusMessage = msg;
}
void client_Elapsed(object sender, ElapsedEventArgs e)
{
UpdatePersonalStatusMessage();
}
#endregion
}
}
トリガはTimerじゃなくても何でもいいんですけどね。とりあえずこんな感じでステータス欄の変更は可能でした。あとDLL名を (namespace名).(class名).dll のかたちにしないとLive! Messengerがロードしてくれなかった風。なんでこの例だと MottekeWeekdays.MottekeWeekdays.dll などというかなり冗長なファイル名に。もう少し何とかしたかったけどまあいいや。(上記zipパッケージでは対応済みです)
hironobu> よし
hironobu> 自動化できたよたてにょん!
tatenyon> まじでw
hironobu> あとでDLLとかおくる
tatenyon> おお
tatenyon> どもっすwwwww
tatenyon> よく考えると、いいBLOGネタだな
hironobu> われながらばかすwwwww
(´・ω・`)ッテイウカ ヲレ ヨクカンガエタラ 『らき☆すた』 ミタコトナイハズナンダケド
Writing a Windows Live Messenger add-in
ここに方法が書いてあった。まあ"namespaceいらねーじゃん"ってそのまんまではあるんだけどにゃ。
トラックバック(0)
トラックバックURL: http://foursics.jp/cgi-bin/mt/mt-tb.cgi/92
コメントする