Bonjour, j ai vu que les composant Indy sont directement sur builder 6.Mais le pb est que je trouve bien le composant serveur IRC mais pas le client. Comment est ce que je pe faire ???
Merci d avance
Bonjour, j ai vu que les composant Indy sont directement sur builder 6.Mais le pb est que je trouve bien le composant serveur IRC mais pas le client. Comment est ce que je pe faire ???
Merci d avance
Bonjour, j ai vu que les composant Indy sont directement sur builder 6.Mais le pb est que je trouve bien le composant serveur IRC mais pas le client. Comment est ce que je pe faire ???
Merci d avance
On déborde du sujet. Tes questions devraient être posées sur le forum dans un nouveau topic et non pas dans le code source d'un composant IRC concurrent. Qu'en penses-tu
une dernière chose : j'aimerais faire comme sur msn plus, c'est à dire quand je suis pas là, lorsque quelqu'un tape mon pseudo (dans le général du chan) et bien un message apparait pour dire "je suis abs"
genre si mon pseudo c'est "moi", si "moi" est tapé dans le général, automatiquement je répondrais "je suis abs"
pas oblige de mettre le pass dans Chan quand tu passes la variable Chan à idIRC1.Say vu que tu t'es déjà identifiés a l'entrée du salon en passant le pass en argument dans le JOIN
Sylvainlefou tu n'as pas compris ma question, le chan j'y suis déjà grace au code d'auto join que tu m'a filé, biensur ma variable chan contient le chan + le pass du genre '#delphi pass'
le problème est maintenant comment parler ... sur un chan sans pass je parle grace à : idIRC1.Say(chan,edit1.text); // biensur la variable chan = à '#delphi'
mais lorsqu'il y a un pass, quand je parle le pass s'affiche dnas mon message :s
biensur la variable chan contient '#delphi pass'
donc il me faut réussir à parler sans afficher le pass du chan à chaque phrase que je tape :s
chan est la variable qui contient le chan ou je me trouve et edit1.text est la zone de saisie du texte que j'envois
ça fonctionne quand le chan n'a pas de mot de passe, mais lorsqu'il est protégé par mot de pass il y a un prob : le passe s'affiche dnas mon message (au début) :s
procedure TForm1.IdIRC1System(Sender: TObject; AUser: TIdIRCUser;
ACmdCode: Integer; ACommand, AContent: String);
begin
if ACmdCode= 1 then IdIRC1.Join('#delphi');
end;
Les seules variables qu'il faut analyser sont AUser, ACmdCode, ACommand et AContent qui contiennent les informations propres a chaque appel de la fonction 'IdIRC1System'.
Le lien vers les protocols fonctionne toujours.
Attention aux noms des channels, ils commencent par un #, en regle générale.
jai essayé tout les évènement et ça n'a pas l'air de focntionner :/
de plus le lien est down on dirait :s
procedure TForm1.IdIRC1System(Sender: TObject; AUser: TIdIRCUser;
ACmdCode: Integer; ACommand, AContent: String);
var
numero : integer;
begin
if numero = 1 then IdIRC1.Join('delphi');
end;
jai réussis à joindre un chan, j'avais jsute oublier le #
mais j'arrive à le joindre qu'en clickant sur un boutton
jaimerais bien le joindre à la conexion au server
1/ comment joindre un chan à la conexion au server ?
procedure TForm1.IdIRC1Connect(Sender: TObject);
begin
idIRC1.Join(chan);
end;
ne fonctionne pas
mais si je met le code dans un boutton ça fonctionne, c'est trop bizard
procedure TForm1.Button2Click(Sender: TObject);
begin
idIRC1.Join(chan);
end;
je suis sur d'être connecté car dans le même évènement onconect j'ai mis un messagebox pour tester et je le recevait
donc question : pourquoi suije obliger de clicker sur le boutton ? (même en simulant le clik, ça ne fonctionne pas; je suis obliger de clicker avec ma souris)
Sur certaines versions de Delphi7 (toutes peutetre), les composants indy (version 8 je croi) sont installés d'origine, dont le client IRC (Onglet "Indy Clients" > "IdIrc").
Sinon vas faire un tour sur www.developpez.com, il y a des tutoriaux qui expliquent comment installer des commposants, et peutetre méme specifiquement ceux d' Indy.
Bonne prog à tous !
Indy propose également un trés bon composant client IRC, pratique et gratuit : http://www.indyproject.org/ il fait partie des composants Indy.Sockets et existe en versions multiples (Delphi, Borland C++ ....)
C'est un compasant à essayer si vous cherchez un client IRC !
procedure TIRC.SetAltNick(const Value: String);
begin
FAltNick := Value;
end;
puis dans la procedure generateevents ajout d'un test
if IsNum(P[2]) then
begin
if SameText(FNick, P[3]) then
if P[2] = '302' then if P[4] <> '' then FIRCAddress := GetIRCAddr(P[4]);
if P[2] = ERR_NICKNAMEINUSE then SetNick(FAltNick); <== ICI
procedure TIRC.SetAltNick(const Value: String);
begin
FAltNick := Value;
end;
puis dans la procedure generateevents ajout d'un test
if IsNum(P[2]) then
begin
if SameText(FNick, P[3]) then
if P[2] = '302' then if P[4] <> '' then FIRCAddress := GetIRCAddr(P[4]);
if P[2] = ERR_NICKNAMEINUSE then SetNick(FAltNick); <== ICI
Merci pour faire partager vos source. Ils m'ont bien aidé pour réaliser un client Chat.
Petite question tout de même, le protocol utilisé pour les DCC est le FTP ? et un composent classique ftp ferait l'affaire?
Le MOTD est recuperable ds l'evennement RAW.
il correspond au numeric 372. la fin du motd correspond au numerique 376.
pour les autres numeriques il faut chercher la page officielle des serveurs Undernet, DALnet, EFnet. Il y a plein de choses à voir.
Bonne programmation !
Merci d avance
Merci d avance
Merci d avance