![]() |
Kleine Frage zum IdIRC ..
Morgen Community ,
Wie geht es , das der Bot auf befehl in einen Raum joint? .. Er soll in den Raum joinen der Hinter dem Befehl "!join" angegeben wird zb. "!join #lobby" , dann sollte er #lobby joinen ! Danke im Vorraus CC :shock: |
Re: Kleine Frage zum IdIRC ..
Hi,
es gibt ein Event, dass heißt "OnMessage" oder so ähnlich. Dort kannst du folgenden Code reinschreiben (Ungetestet!):
Delphi-Quellcode:
Den Code musst du ggf. noch anpassen.
var
Temp: String; begin if Content[1] <> '!' then exit; if Pos('!join', Content) <> 0 then // !join wurde gefunden (es wird auch xxaskdk!join #blubb gefunden! begin Temp := Copy(Content, Pos('!join'), Length(Content)); IdIRC.Join(Temp); end; end; |
Re: Kleine Frage zum IdIRC ..
Hi ,
habe das ganze nun so gemacht:
Delphi-Quellcode:
er markiert aber bei Compilen die stelle hinter ('!join') und meldet "not enough actual parameters" !
procedure TForm1.IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
AChannel: TIdIRCChannel; Content: String); var Temp: String; begin if Content[1] <> '!' then exit; if Pos('!join', Content) <> 0 then begin Temp := Copy(Content, Pos('!join'), Length(Content)); IdIRC.Join(Temp); end; end; ne idee? ;) CC |
Re: Kleine Frage zum IdIRC ..
Jau:
Delphi-Quellcode:
procedure TForm1.IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
AChannel: TIdIRCChannel; Content: String); var Temp: String; begin if Content[1] <> '!' then exit; if Pos('!join', Content) <> 0 then begin Temp := Copy(Content, Pos('!join', Content), Length(Content)); IdIRC.Join(Temp); end; end; |
Re: Kleine Frage zum IdIRC ..
Zitat:
genau so habe ich es gemacht - habe den bot joinen lassen und !join #test eingegeben , aber er macht es nicht , es kommt weder ne fehlermeldung noch sonst was :-/ .. jmd eine Ahnung was ich vllt falsch gemacht haben könnte? Grüsse CC :elk: |
Re: Kleine Frage zum IdIRC ..
Hallo ihr!
wie wärs mit dieser Modifikation:
Delphi-Quellcode:
ist aber ungetestet und obs daran liegt weiß ich auch nicht, aber das sah mir falsch aus, was da stand.
joinpos:=Pos('!join', Content);
Temp := Copy(Content, joinpos, Length(Content)-(5+joinpos)); Gruß Jan |
Re: Kleine Frage zum IdIRC ..
Oder so ;)
Delphi-Quellcode:
Nachtrag: So, jetzt aber ^^
if Pos('!join', Content) > 0 then
begin Channel := Copy(Content, Pos('#', Content), Length(Content) - Pos('#', Content) + 1); end; |
Re: Kleine Frage zum IdIRC ..
Zitat:
Delphi-Quellcode:
und so ergänzt
procedure TForm1.IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
AChannel: TIdIRCChannel; Content: String); begin if Pos('!join', Content) > 0 then begin Channel := Copy(Content, Pos('#', Content), Length(Content) - Pos('#', Content) + 1); end;
Delphi-Quellcode:
nur weiss ich nu ned wie ich das vervollständigen soll ...
var
Form1: TForm1; Channel: String;
Delphi-Quellcode:
procedure TForm1.IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
AChannel: TIdIRCChannel; Content: String); begin if Pos('!join', Content) > 0 then IdIRC1.Join('#' + Content); !?!?!? *wirr* begin Channel := Copy(Content, Pos('#', Content), Length(Content) - Pos('#', Content) + 1); end; Habe den Channel #lala aufgemacht , aber weder auf !join lala noch !join #lala reagiert er :( Grüsse CC :-D |
Re: Kleine Frage zum IdIRC ..
Hallo,
ich weiss nicht ob es noch aktuell ist aber ich schreib einfach mal. :) HastDu Dir mal den Content angesehen was da drin steht wenn der Client eine Msg erhällt? wenn ich das eingebe also: Zitat:
Delphi-Quellcode:
Das würde jetzt der String so aussehen:
IdIRC1.Join('#' + Content);
Zitat:
Der Code müsste eher so aussehen:
Delphi-Quellcode:
Ist getestet und er Joint auch den Chan. :)
procedure TForm1.IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
AChannel: TIdIRCChannel; Content: String); Begin if Pos('!join', Content) > 0 then begin Channel := Copy(Content, Pos('#', Content), Length(Content) - Pos('#', Content) + 1); IdIRC1.Join(Channel); end; Was mich aber mal so nebenbei interessieren würde ist wie man zu dem Status connected kommt. Ich Joine Chans kann schreiben und lesen aber wenn ich Disconnecten will kommt immer der nette Fehler das er nicht verbunden ist. Vllt kannst Du mir da ja weiter helfen. |
Re: Kleine Frage zum IdIRC ..
Ahhhhhhhhhhhh *gg .. vielen Dank ^^ geht super !
Grüsse CC |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz