Starten möchte ich mit einem JScript für MSN Plus:
function OnEvent_Initialize(MessengerStart)
{
MsgPlus.AddTimer("timer1", 100);
}
function OnEvent_Uninitialize(MessengerExit)
{
//Messenger.MyPersonalMessage = "";
}
function OnEvent_Timer(timerid)
{
var Started = MsgPlus.DownloadFile("http://URL zu meinem kram");
if(Started)
Debug.Trace("Downloading file, waiting for event");
else
Debug.Trace("Couldn't start the download");
MsgPlus.AddTimer("timer1", 300000);
}
function OnEvent_DownloadFileComplete(Url, OutFile, Success)
{
Debug.Trace("DownloadFileComplete event received for " + Url);
Debug.Trace(" Success: " + Success);
if(Success)
{
Debug.Trace(" Result file path: " + OutFile);
/* Read the file, do what needs to be done */
var fso = new ActiveXObject("Scripting.FileSystemObject");
blpp = fso.OpenTextFile(OutFile,1);
var atext = blpp.readline();
if(atext != "")
{
Messenger.MyPersonalMessage = atext;
}
blpp.Close();
//Delete the temporary file
var File = new ActiveXObject("Scripting.FileSystemObject");
File.DeleteFile(OutFile);
}
}
Zunächst wird ein Timer aktiviert, der quasi sofort das OnEvent_Timer Event auslößt. Nun wird eine Datei von einem Server geladen und der Timer nun auf 5 Minuten gesetzt.
Wenn die Datei runtergeladen ist, wird das OnEvent_DownloadFileComplete Event ausgelöst. Jetzt kann der Inhalt der Datei verarbeitet werden.
In diesem Beispiel wird einfach nur der Inhalt der Datei als persönliche Nachricht gesetzt.
Durch den Timer wird die Nachricht alle 5 Minuten aktualisiert.
Ich verwende zum Sammeln der Daten ein PHP Script auf meinem Server.
Bis jetzt sind mir die Schuldenuhr von Deutschland, ein Landtagswahlticker, eine Wettervorhersage, ein Börsenticker und ein Zitatescript gelungen.
Um z.B. die Temperaturen von heute, morgen und übermorgen in Düsseldorf auszugeben, können die Daten von wetter.de per Socket abgegriffen und verarbeitet werden.
$packet = "GET /wettervorhersage/Wetter-Duesseldorf/Deutschland/e64f033bf5ce13eab84b602dde3b7bd3/layout/drucken HTTP/1.1\r\nHost: www.wetter.de\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\nAccept-Encoding: deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7r\nConnection: Close\r\n\r\n";Bei Fragen oder weiteren Ideen schreibt mir, was in euren Köpfen vor sich geht.
$list = get_packet("www.wetter.de", $packet);
$list = substr($list, strpos($list, "table"), strpos($list, "/table"));
$list = explode("", $list);
$clist = count($list);
$i=1;
while($i<$clist) { if(substr_count($list[$i-1],"Mittags") > 1)
{
$text = $list[$i+1];
}
$i++;
}
$text = explode(">", $text);
$heute = strtok($text[2],"<"); $morgen = strtok($text[6],"<"); $umorgen = strtok($text[10],"<"); echo "Düsseldorf - Temp. Heute: ".html_entity_decode($heute)." ; Temp. Morgen: ".html_entity_decode($morgen)." ; Temp. Übermorgen: ".html_entity_decode($umorgen);