Entwickler-Ecke

Internet / Netzwerk - IRC Shellbot


Julian W. - Mi 28.02.07 19:27
Titel: IRC Shellbot
Moin,
also ich hab mir mit nem Freund zusammen nen Root gemietet und weil ich nicht immer per remote drauf connecten will würd ich gerne ne art IRC Shellbot basteln. Also der immer auf einen irc server connected und dann halt meine Befehle entgegennimmt. Aber ich hab kein Plan, wie ich das umsetzen soll. Das mim irc usw ist noch klar, aber wie soll ich das mit den befehlen hinbekommen? Müsste ich da jetz immer alle möglichkeiten mit if abfragen? So nach dem motto:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel; Content: String);
begin
if content = 'dir' then
blebleble
else if content = 'cd' then
blablabla
...
end;


und wie kann das dann mit den Parametern gehen, also wenn ich jetz z.B. ein cd machen will, muss ich ja auch den Ordner mit übergeben, in den gewechseld werden soll...

Ich hoffe ihr könnt mir ein bisschen helfen. Greetz Julian


JayEff - Mi 28.02.07 19:39

Nun, wenn du ein Protokoll schreiben willst, wirst du wohl oder übel alle Befehle per if-Klausel auswerten müssen ;) Wie du dein Protokoll aufbaust, ist deine Sache. Ein Beispiel: Sollen deine Befehle von Parametern mit Leertasten getrennt werden, lautet der Befehl cd Ordner
Dann musst du mit Suche in: Delphi-Forum, Delphi-Library COPY und Suche in: Delphi-Forum, Delphi-Library POS Befehl und Parameter trennen und entsprechend eben handeln.


LH_Freak - Mi 28.02.07 19:51

wenn alle befehle mittels Leertaste getrennt werden, dann weis ich auch noch auf die tolle Suche in der Entwickler-Ecke EXTRACTSTRINGS Funktion hin


Delphi-Quelltext
1:
ExtractStrings([' '],[' '],PChar(deinstring),stringlist);                    


Julian W. - Mi 28.02.07 19:57

JO, copy und pos waren mir klar^^ Ich hatte nur gehofft, das es ne leichtere möglichkeit gibt^^
Die EXTRACTSTRINGS Funktion ist mir allerdings neu^^ Wirklich seeehr praktisch xD Danke nochmal, ich denke das hat sich dann auch erledigt ;)

Greetz Julian