Avatar billede melieha Nybegynder
11. marts 2002 - 19:14 Der er 12 kommentarer og
2 løsninger

IRC client "hjælp" ;) (lave en)

Hej, jeg vil gerne prøve at lave en IRC client, jeg ved godt det ikke er en ting man gør på 5 mins, og da jeg ikke har den vilde erfaring med delphi vil jeg gerne vide om nogle kender nogle tutorials ?
Jeg har søgt lidt men har ikke rigtig fundet nogle...
Og måske nogle sources som jeg kan kigge på, hvor jeg kan se connect delen og sådan noget..
Jeg har lidt erfaring med delphi, og temmelig meget indenfor scripting/programmering i div "sprog", ved ikke hvor meget det hjælper...
Jeg ville bliver over herer mega glad hvis der var nogle der gad hjælpe lidt ;)
(Nej det skal ikke være en konkurrent til mIRC eller noget, så høje tanker har jeg ikke, endnu ;D)
Avatar billede morten_s Nybegynder
11. marts 2002 - 19:23 #1
Prøv at kig i dit demos bibliotek under internet\chat
Avatar billede melieha Nybegynder
11. marts 2002 - 19:43 #2
Eh ja du er vel nok klog wha?
;)
Jow jow, vil jeg lige se lidt på, den har jeg kigget på før, der ville jeg bare ikke til at lave en client ;)
Så må vi lige se, men er der nogle der har nogle tuts/exempler? andre end det der
Avatar billede morten_s Nybegynder
11. marts 2002 - 19:46 #3
eksemplet kan begge veje både server og client, og indeholder det mest basale
Avatar billede melieha Nybegynder
11. marts 2002 - 19:50 #4
har kigget på det.... ;)
Og det indeholder da de mest basale ting ja, meeeen ;)
der er jo mange "mangler", altså, der er ikke mulighed for at joine kanaler, eller ikke flere ivertfald, og sårn... ;)
/mE vil gerne have en liiiiidt større ting
Avatar billede morten_s Nybegynder
11. marts 2002 - 20:11 #5
Har du set der også ligger et Indy eksempel på en client og en server i chat biblioteket (i hvertfald i min D6), den ser mere avanceret ud, hvis du ikke har den kan jeg sende den til dig.

I Chat eksemplet kan flere clienter (så vidt jeg kan se) conecte til din server. Du får bare alle indkomene beskeder smidt op i samme memoboks
Avatar billede dj Nybegynder
11. marts 2002 - 20:11 #6
IRC er jo ikke andet end TCP kommunikation.
Dvs. du kan smide en TClientSocket på din form og sætte den til at connecte til f.eks. diemen.nl.eu.undernet.org på port 6667.

Når du så er connected skal du sende lidt info for at serveren lader dig komme på netværket. Disse kommandoer ser således ud:

ClientSocket1.Socket.SendText('USER Username blah blah :RealNick'+#10);
ClientSocket1.Socket.SendText('NICK MyNick'+#10);

Du skal så checke på om der bliver sendt en PING besked til dig, denne ser ofte således ud "PING :3425435444" her er det så vigtigt at du parser den besked og sender et PONG svar således at du sender de tal tilbage som står efter ":", dette kunne f.eks. se således ud:

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  temp, cmd: string;
begin
  Temp:=socket.ReceiveText;
  memo1.lines.add(Temp); //Tilføj linjen til en form for display

  //bemærk at de næste 2 linjer er skrevet uden jeg har testet dem
  //de kræver muligvis lige lidt tilretning for at virke helt
  //efter hensigten.
  cmd := copy(temp, 0, pos(temp, ':')-1);
  temp := copy(temp, pos(temp, ':'),length(temp));

  If comparetext(cmd,'ping')=0 then begin
    Socket.SendText('PONG '+temp+#10);
  end;
end;

Nu skulle du så gerne være connected til serveren og hvis du ellers har lavet et memofelt således at du kan se hvad serveren sender til dig, så skulle du nu gerne få en masse text fra serveren smidt i hovedet.

Derefter kan du så udvide dit program som du vil. Nogle basale kommandoer der er gode at kunne når man roder med IRC er:

JOIN #channel
PRIVMSG #Channel/Nick :Text goes here  //Svarer til /msg #chan/nick text i mIRC, bemærk at du skal huske at skrive ":" foran al generel tekst, ellers vil serveren tolke det første ord som sætningen.
MODE #Channel +o NICK //siger sig selv
KICK #Channel NICK :kick reason //igen husk ":"

For mere information henviser jeg til RFC1459
http://www.faqs.org/rfcs/rfc1459.html

//DJ
Avatar billede melieha Nybegynder
11. marts 2002 - 20:35 #7
dj, så var det ikke kun mig der fattede ingenting ;)
For jeg kunne nemlig godt connecte (ex dk.quakenet.org port 6667)
Men meget mere kunne jeg jo ikke når serveren er delt op i kanaler jo ;D
Så jeg prøvede med /msg og alt muligt, ingenting funkede ;) kigger lige på det du skrev
Avatar billede melieha Nybegynder
11. marts 2002 - 20:39 #8
Og lige en ting, så er jeg meget inde i selve IRC netværket... ;)
Jeg har selv hostet en IRC server i en lille periode og sårn ;)
Så jeg kan godt det med join og bla bla...
Sys ligesom man før flere svar nu end sidste gang jeg var her ;) det er jo kun godt
Avatar billede dj Nybegynder
11. marts 2002 - 21:59 #9
Faktisk rent undtagelsesmæssigt jeg svarede, har ikke rigtigt været på eksperten det sidste års tid, men nu har jeg selv lavet en del IRC programmering fra Delphi. Jeg kan se du er på Quakenet så du har sikkert stiftet bekendtskab med Jubii Games CWBot som bl.a. er et af mine produkter :)

Kunne jo btw. ikke se hvor meget du var inde i RAW kommandoerne til IRC. De er jo lidt anderledes end du er vandt til at bruge dem fra eg. mIRC :)

men held og lykke med projektet.

//DJ
Avatar billede razersedge Nybegynder
12. marts 2002 - 17:11 #10
hvordan skal jeg sende en besked til en kanal ??
Avatar billede melieha Nybegynder
13. marts 2002 - 20:04 #11
dj, ;) sidder du da ozz på Qnet? Hvor henne af? Nogen mulighed for at jeg kan få lidt hjælp der?
RAW commandoerne er jeg ikke vildt inde i nej =/
Har lavet lidt af dem i mit mIRC script, men bruger ikke mIRC længere (Bruger BersIRC) nomindre det er for at teste noget eller hjælpe andre med scripts ;P
Du ved jo åbenbart hvor du kan fange mig, hehe #mE ellers
Avatar billede melieha Nybegynder
13. marts 2002 - 20:05 #12
ramte lige for tidligt, men spørgsmålet er vel næsten ozz, hvor kan jeg fange dig?
Hvis du da gider
Avatar billede dj Nybegynder
13. marts 2002 - 20:24 #13
Du kan finde mig på #jubiigames hvor jeg hedder [-CC-]Frenz|JG for det meste.

//DJ
Avatar billede melieha Nybegynder
13. marts 2002 - 20:56 #14
k, syntes jeg har fået nogle ovkay svar nu så jeg har del point'sne lidt mellem jer.... ;P
Håber jeg får lavet noget
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester







Læses lige nu