Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi idIRC Userliste mit Indy 10? (https://www.delphipraxis.net/95537-idirc-userliste-mit-indy-10-a.html)

gandime 8. Jul 2007 21:30


idIRC Userliste mit Indy 10?
 
Hi,
wie ich kann ich mit der idIRC Komponente die Userliste eines Channels auslesen?
Ich hab hier schon alle Treads angeschaut die was mit IRC zutun haben hab aber nichts gefunden :-(

das einzige was ich gefunden habe is das:

Delphi-Quellcode:
IdIRC.ListChannelNicknames(Achannel: string;[Atarget: string = ''])
Das ist aber eine Procedure und wie soll ich damit die user auslesen?
die Procedure kann ich mir auch nicht anschauen
wenn ich Strg+linke Maustaste klicke sagt mir delphi:
Zitat:

Datei "IdIRC.pas" nicht gefunden.
hat iwer eine Idee?


mfg
gandime

edit:
hab mir jetzt mal die IdIRC.pas rausgesucht und hab folgendes gefunden:
Delphi-Quellcode:
procedure TIdIRC.ListChannelNicknames(const AChannel: String; const ATarget: String = '');
begin
  if IsChannel(AChannel) then begin
    if ATarget <> '' then begin
      Raw(Sys.Format('NAMES %s %s', [AChannel, ATarget])); {do not localize}
    end else begin
      Raw(Sys.Format('NAMES %s', [AChannel])); {do not localize}
    end;
  end;
end;
aber das hilft mir ja auch nicht weiter...

marabu 9. Jul 2007 07:02

Re: idIRC Userliste mit Indy 10?
 
Hallo,

du musst auf das Ereignis OnNickNamesListReceived() reagieren.

Grüße vom marabu

gandime 9. Jul 2007 13:57

Re: idIRC Userliste mit Indy 10?
 
wenn ich jetzt z.b mit den Namen: gandime in den Channel: #2on2 joine bekomme ich folgendes Resultat auf OnNickNamesListReceived():
Zitat:

gandime #2on2 :End of /NAMES list.
Sprich ich bekomme immer nur meinen eigenen Namen zurückgegeben
bei der NicknameChange() Procedure bekomme ich immerhin alle user, die neu im Channel sind

mache ich vlt etwas falsch?

TheGame1492 13. Jan 2009 16:22

Re: idIRC Userliste mit Indy 10?
 
Hallo,

ich möchte das Thema noch einmal aufgreifen, da ich auch grad das Problem hab das ich keine UserListe bekomme.
Es wird immer nur mein Nickname in der ANicknameList angezeigt

Wenn ich 'ListChannelNicknames' verwende wird bei 'OnNicknamesListReceived' als 'AChannel' immer der IRC-Server angegeben und nicht der eigentliche Channel, wo ich mich grad befinde.

Woran kann das liegen?

gandime 13. Jan 2009 17:27

Re: idIRC Userliste mit Indy 10?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nimm den einfachen weg und code es dir selbst anstatt im indy rumfummel was meiner meinung nach einfach viel zu aufwenig ist.
Einfach mit nem ClientSocket connecten und und und^^ hab im anhang mal meinen mini Thread im anhang gelassen. Keine garantie auf funktion usw. bei manchen Servern wir das teil direkt als bot erkannt aber ich weiss nicht warum!?
Es sind nur nen ganz paar funktionen drinne Nachricht an private person schicke an chan schicken chan connecten und natürlich Nachrichten Empfangen. das reichte auch für mich ;-)
Hab noch iwo eine bessere version rumfliegen aber die finde ich gerade nicht :-(
Delphi-Quellcode:
var
  IRC:TIRCThread;
//Start:
  IRC:=TIRCThread.Create(true);
  IRC.Host:='fulda.de.eu.undernet.org';
  IRC.Port:=6667;
  IRC.Nick:=GetNick;
  IRC.FullName:='pspsps22';
  IRC.Channel:='#wsc';
  IRC.Resume;
//Stop und free
  IRC.shutdown;
ich hoffe ich konnte helfen

Redhair 4. Mär 2009 11:11

Re: idIRC Userliste mit Indy 10?
 
Ich habe die gleichen Probleme... Das muss doch auch mit Indy 10 irgendwie machbar sein. Ich suche schon ewig nach Beispielen aber man findet sehr wenig und wenn, dann funktioniert es nicht. Es ist zum Mäusemelken.

[edit]
Ich habe das Problem folgendermaßen gelöst: Und zwar prüfe ich jetzt, ob die Message (Amessage) über "OnRaw" mit '353' anfängt, dann weiß man, dass es sich hierbei um die Userlist handelt. Der Rest ist Formsache. Den String schnappen und mit Hilfe von "Pos" und "Copy" auseinanderschnibbeln und nacheinander der ListBox hinzufügen. Die Usernamen folgen nach dem Doppelpunkt und sind durch Leerzeichen getrennt.
[/edit]

MarkusReisser 24. Jul 2011 02:12

AW: Re: idIRC Userliste mit Indy 10?
 
Zitat:

Zitat von Redhair (Beitrag 887321)
Ich habe die gleichen Probleme... Das muss doch auch mit Indy 10 irgendwie machbar sein. Ich suche schon ewig nach Beispielen aber man findet sehr wenig und wenn, dann funktioniert es nicht. Es ist zum Mäusemelken.

[edit]
Ich habe das Problem folgendermaßen gelöst: Und zwar prüfe ich jetzt, ob die Message (Amessage) über "OnRaw" mit '353' anfängt, dann weiß man, dass es sich hierbei um die Userlist handelt. Der Rest ist Formsache. Den String schnappen und mit Hilfe von "Pos" und "Copy" auseinanderschnibbeln und nacheinander der ListBox hinzufügen. Die Usernamen folgen nach dem Doppelpunkt und sind durch Leerzeichen getrennt.
[/edit]

Kannst du deinen Edit genauer erläutern? ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 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