Dennis: ICQ Nachrichten automatisiert versenden

Beitrag lesen

Hi liebes Forum,

heute habe ich ein etwas komplizierteres Problem - und zwar beschäftige ich mich mit der Aufgabe ICQ Nachrichten unter einem Linux Debian System automatisiert zu versenden.

Etwas konkreter: An meiner Schule gibt es Vertretungspläne, diese werden auch immer aktuell auf der Schulhomepage zur Verfügung gestellt. Jetzt würde ich gerne alle Schüler, die sich für diesen Service eingetragen haben automatisiert per ICQ benachrichten, wenn ein neuer Vertretungsplan hochgeladen wurde (Idealfall: ...und der Plan den Schüler betrifft). Dazu müsste ich das Versenden der Nachrichten über Kommandozeile starten - entweder aus PHP, oder aus einer beliebigen anderen Programmiersprache, da VServer (Root-Rechte), bin ich nicht sonderlich gebunden.

Ich habe dann eben mal etwas bei Google gestöbert und bin auch recht bald auf mICQ gestoßen. Ließ sich auch problemlos installieren, ich kann es auch problemlos nutzen - dazu logge ich mich über SSH ein, starte das Programm und kann dann interaktiv in diesem Programm Nachirichten schreiben. Soweit alles gut.

Jetzt kann ich aber das Programm aus einer anderen Software heraus schlecht interaktiv bedienen - deshalb geht es so, wie ich herrausgefunden habe:

./micq -u <ICQ-Nr> -p <Passwd> -C "msg <Empf>[,<Empf2>] <Nachricht>"

So kann ich eine Nachricht an einen oder mehrere Empfänger verschicken, ich kann auch mehrere Nachrichten nacheinander verschicken, indem ich sie alle für -C übergebe[1] - auch das funktioniert also soweit gut.

Jetzt gibt es jedoch ein Problem, da recht viele Leute bei uns ICQ besitzen (bei uns in der Klasse eigentlich alle, in anderen Klassen sicherlich ähnlich) und das Feature sicherlich interessant ist, könnten das bis zu 800 Leute werden, die benachrichtig werden müssen - dabei ist das erste Problem das ich habe, dass ich ja nicht einen unendlich langen Befehl absetzen kann, der Befehl wird natürlich unheimlich lang, wenn man (für den Idealfall) jedem Schüler bzw. jeder Klassenstufe eine eigene Nachricht schreibt.

Ich habe es jetzt noch nicht so konkret getestet, aber ich meine zu wissen, dass es irgendwo eine Beschränkung in der Länge der Eingabe gibt, so dass das auf jeden Fall schon daran scheitern würde.

So - was spricht dagegen, einfach das auf mehrere Aufrufe aufzuteilen? Das geht deshalb nicht, weil sich für jeden Aufruf neu eingeloggt wird - und bei mehr als 5 mal einloggen in 30 Minuten oder so blockiert der ICQ Server, geht also auch nicht.

Und das ist die Stelle, wo ich mit meinem Latein am Ende bis - zwei[2] Fragen:

  1. Gibt es irgendwie eine Möglichkeit, ein Programm interaktiv zu bedienen, jedoch nicht über SSH, sondern eben aus einem anderen Programm heraus?
  2. Gibt es die Möglichkeit mICQ irgendwie so zu starten (der Entwickler antwortete auf meine Mail nicht), dass es als Deamon im Hintergrund läuft und ich über irgendeine Schnittstelle, dann Nachrichten verschicken kann, der ICQ-User aber eben die ganze Zeit eingeloggt bleibt?
  3. kenn jemand ein Programm, was 2) kann?

MfG, Dennis.

[1] ./micq -u ... -p ... -C "msg foo test" "msg bar test2" "exit"
[2] Uups, sind drei geworden ;-)