![]() |
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:
Das ist aber eine Procedure und wie soll ich damit die user auslesen?
IdIRC.ListChannelNicknames(Achannel: string;[Atarget: string = ''])
die Procedure kann ich mir auch nicht anschauen wenn ich Strg+linke Maustaste klicke sagt mir delphi: Zitat:
mfg gandime edit: hab mir jetzt mal die IdIRC.pas rausgesucht und hab folgendes gefunden:
Delphi-Quellcode:
aber das hilft mir ja auch nicht weiter...
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; |
Re: idIRC Userliste mit Indy 10?
Hallo,
du musst auf das Ereignis OnNickNamesListReceived() reagieren. Grüße vom marabu |
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:
bei der NicknameChange() Procedure bekomme ich immerhin alle user, die neu im Channel sind mache ich vlt etwas falsch? |
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? |
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:
ich hoffe ich konnte helfen
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; |
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] |
AW: Re: idIRC Userliste mit Indy 10?
Zitat:
|
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