AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Kleine Frage zum IdIRC ..
Thema durchsuchen
Ansicht
Themen-Optionen

Kleine Frage zum IdIRC ..

Ein Thema von CodenameCookie · begonnen am 3. Jul 2005 · letzter Beitrag vom 15. Jul 2005
Antwort Antwort
Benutzerbild von CodenameCookie
CodenameCookie

Registriert seit: 12. Mai 2005
87 Beiträge
 
Delphi 6 Personal
 
#1

Kleine Frage zum IdIRC ..

  Alt 3. Jul 2005, 00:41
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
M.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Kleine Frage zum IdIRC ..

  Alt 3. Jul 2005, 07:22
Hi,

es gibt ein Event, dass heißt "OnMessage" oder so ähnlich. Dort kannst du folgenden Code reinschreiben (Ungetestet!):

Delphi-Quellcode:
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;
Den Code musst du ggf. noch anpassen.
  Mit Zitat antworten Zitat
Benutzerbild von CodenameCookie
CodenameCookie

Registriert seit: 12. Mai 2005
87 Beiträge
 
Delphi 6 Personal
 
#3

Re: Kleine Frage zum IdIRC ..

  Alt 3. Jul 2005, 13:26
Hi ,

habe das ganze nun so gemacht:

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'), Length(Content));
    IdIRC.Join(Temp);
  end;
end;
er markiert aber bei Compilen die stelle hinter ('!join') und meldet "not enough actual parameters" !

ne idee?

CC
M.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Kleine Frage zum IdIRC ..

  Alt 3. Jul 2005, 13:31
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;
  Mit Zitat antworten Zitat
Benutzerbild von CodenameCookie
CodenameCookie

Registriert seit: 12. Mai 2005
87 Beiträge
 
Delphi 6 Personal
 
#5

Re: Kleine Frage zum IdIRC ..

  Alt 14. Jul 2005, 17:42
Zitat von Spider:
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;
Hallöchen ,
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:
M.
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Kleine Frage zum IdIRC ..

  Alt 14. Jul 2005, 17:47
Hallo ihr!
wie wärs mit dieser Modifikation:

Delphi-Quellcode:
joinpos:=Pos('!join', Content);
Temp := Copy(Content, joinpos, Length(Content)-(5+joinpos));
ist aber ungetestet und obs daran liegt weiß ich auch nicht, aber das sah mir falsch aus, was da stand.
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Kleine Frage zum IdIRC ..

  Alt 14. Jul 2005, 18:27
Oder so

Delphi-Quellcode:
if Pos('!join', Content) > 0 then
begin
  Channel := Copy(Content, Pos('#', Content), Length(Content) - Pos('#', Content) + 1);
end;
Nachtrag: So, jetzt aber ^^
  Mit Zitat antworten Zitat
Benutzerbild von CodenameCookie
CodenameCookie

Registriert seit: 12. Mai 2005
87 Beiträge
 
Delphi 6 Personal
 
#8

Re: Kleine Frage zum IdIRC ..

  Alt 14. Jul 2005, 19:13
Zitat von Matze:
Oder so

Delphi-Quellcode:
if Pos('!join', Content) > 0 then
begin
  Channel := Copy(Content, Pos('#', Content), Length(Content) - Pos('#', Content) + 1);
end;
Nachtrag: So, jetzt aber ^^
Habe es eingefügt

Delphi-Quellcode:
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;
und so ergänzt
Delphi-Quellcode:
var
  Form1: TForm1;
  Channel: String;
nur weiss ich nu ned wie ich das vervollständigen soll ...

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
M.
  Mit Zitat antworten Zitat
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#9

Re: Kleine Frage zum IdIRC ..

  Alt 15. Jul 2005, 19:11
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:
!Join #lala
schaut der Content nur so aus, warum versucht Du da noch wer weiss was mit in den String zu geben?

IdIRC1.Join('#' + Content); Das würde jetzt der String so aussehen:

Zitat:
#!Join #lala
Ist klar das er das nicht kann, da bei mir das Programm gerade läuft kann ich nicht nachsehen was kommt wenn du das auf dem Join machst. Schaue Dir doch einfach mal an was an Datenaustausch statt findet mit den Ereignissen OnRecive und OnSend.

Der Code müsste eher so aussehen:

Delphi-Quellcode:
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;
Ist getestet und er Joint auch den Chan.

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.
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von CodenameCookie
CodenameCookie

Registriert seit: 12. Mai 2005
87 Beiträge
 
Delphi 6 Personal
 
#10

Re: Kleine Frage zum IdIRC ..

  Alt 15. Jul 2005, 21:09
Ahhhhhhhhhhhh *gg .. vielen Dank ^^ geht super !

Grüsse CC
M.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz