Entwickler-Ecke

Sonstiges (Delphi) - Chatbot für ICQ


Jann1k - Fr 11.05.07 15:27
Titel: Chatbot für ICQ
Also, ich möchte einen Chatbot für ICQ schreiben, der auf Nachrichten antwortet, zum Chatbot an sich bestehen erstmal keine Fragen, wohl aber zum Empfang und Senden der Antwort per ICQ. also:


1. Frage, wo ich ganz auf euch angewiesen bin, da mir zur lösung das know how fehlt:
Wie kann ich es schaffen, das mein Programm erkennt, wenn eine neue Nachricht in einem bestimmten ICQ Fenster erscheint und wie kann ich den neuen String dann isolieren und ins Programm einspeisen?

2. Ich will zum Senden der Nachricht, den String Zeichen für Zeichen durchgehen und dann ein Tastenevent für jeden Charakter auslösen:


Delphi-Quelltext
1:
2:
3:
4:
5:
for I:=1 to length(s) do
    begin
     key:=ord(s[I]);
     keybd_event(key,MapVirtualKey(key,0),0,0);
    end;


s ist der zu schickende String, das ICQ Fenster ist aktiviert, nur gibt mir ord(s[I]) falsche Werte, so kriege ich für ein 'a' dann im ICQ Fenster eine 1. Was muss ich ändern?


vielen dank für jede hilfe


alias5000 - Fr 11.05.07 15:56

Du kannst doch auch einfach selbst die Verbindung zu ICQ aufbauen, anstatt das ICQ Lite machen zu lassen.
Die Komponente TICQClient (FoSuFu oder Google) bietet dir IMHO alles, um selbst einen ICQ Client zu schreiben


Jann1k - Fr 11.05.07 16:15

hmm, okay wäre eine möglichkeit, aber das würde glaub ich mehr arbeit machen und das icq-gelabber, soll ja ne zusatz bzw. testfunktion des bots sein, den eigenen icq client würd ich nur als notlösung sehen


Jann1k - Fr 11.05.07 21:23

kann mir denn niemand, helfen? zumindest das zweite problem sollte sich doch lösen lassen


muetzenjoe - Fr 11.05.07 21:42

ich habe mal einen bot für den msn messenger geschrieben und ihn auch als open source ins netzt gestellt. das war echt ne schweine arbeit. habe es mit handels gemacht wobei der bot immer die offenen chat fenster kontroliert hat.

ging damals eigentlich echt super.


Jann1k - Fr 11.05.07 21:52

könntse mir mal nen link schciken dazu? oder erklären wie du das gemacht hast?