IRC Protokoll
Übersicht

![]() |
The_NiciBetreff: IRC Protokoll |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hay,
ich habe mich mal heute drangesetzt einen IRC-Bot zu programmieren. Nun, er funktioniert jedoch nicht, er kann zwar auf den Server zugreifen, aber sich scheinbar nicht anmelden. Der Code: Code: [AUSKLAPPEN] Type zeile Field z$ Field y% End Type Graphics 800,600,0,2 SetBuffer BackBuffer() IRCStream=OpenTCPStream("dope.se.eu.blitzed.org",6667) Hostname$="NBot" WriteLine IRCStream,"USER "+"NiciBot"+" "+Hostname$+" "+"dope.se.eu.blitzed.org"+" :"+"NiciBot" WriteLine IRCStream,"NICK NiciBot" yz=0 While Not KeyDown(1) Bytes=ReadAvail(IRCStream) Text 600,0,Bytes While Bytes>0 inmsg$=ReadLine(IRCStream) If inmsg$<>0 ze.zeile=New zeile ze\z$=inmsg$ ze\y=yz yz=yz+12 EndIf If Left(Trim(Upper(inmsg$)),4) = "PING" Then WriteLine IRCStream, "PONG "+Mid(Trim(Upper(inmsg$)),5) EndIf If KeyHit(2) Then WriteLine IRCStream,"JOIN #blitzbasic.de":Print "Betreten!" Bytes=ReadAvail(IRCStream) Wend For ze.zeile=Each zeile Text 0,ze\y,ze\z$ Next Flip Cls Wend CloseTCPStream(IRCStream) End Scheint nicht wirklich zu funktionieren. |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist aber schade. ![]() Naja, vielleicht klappt's beim nächsten Mal. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
The_Nici: Wie du im IRC-RFC nachlesen kannst müssen korrekte IRC-Befehle mit einem Carriage Return und einem Line Feed beendet werden. (Chr(10)+Chr(13) wenn ich mich recht erinnere). | ||
Blog. |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nyo, das Problem hat sich im Channel gelöst.
Dee: Ja, ich glaube BlitzBasic muss sich erst noch mit Herrn IRC anfreunden. |
||
![]() |
Nescio |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Type zeile
Field z$ Field y% End Type Graphics 800,600,0,2 SetBuffer BackBuffer() IRCStream=OpenTCPStream("dope.se.eu.blitzed.org",6667) Hostname$="Nici" WriteLine IRCStream,"USER "+"NiciBot"+" "+Hostname$+" "+"dope.se.eu.blitzed.org"+" :"+"NiciBot" WriteLine IRCStream,"NICK NiciBot" yz=0 While Not KeyDown(1) Bytes=ReadAvail(IRCStream) Text 600,0,Bytes While Bytes>0 inmsg$=ReadLine(IRCStream) If inmsg$<>0 ze.zeile=New zeile ze\z$=inmsg$ ze\y=yz yz=yz+12 EndIf If Left(Trim(Upper(inmsg$)),4) = "PING" Then WriteLine IRCStream, "PONG "+Mid(Trim(Upper(inmsg$)),5) EndIf Bytes=ReadAvail(IRCStream) Wend For ze.zeile=Each zeile Text 0,ze\y,ze\z$ Next If KeyHit(2) Then WriteLine IRCStream,"JOIN #blitzbasic.de"+Chr(10)+Chr(13) Print "Betreten!" EndIf Flip Cls Wend CloseTCPStream(IRCStream) End so klappts |
||
Quod est faciendum? Nescio! |
![]() |
Ghost |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Danke Greeez ![]() |
||
Das ist keine Lüge sondern eine sachzwangreduzierte Ehrlichkeit.
---- Anakin: " Was für eine Lichtschwertform habt ihr da eigentlich benutzt, Meister? " Obi Wan: " Form? Es war wohl eher ein Mangel an Form. " |
![]() |
Nescio |
![]() Antworten mit Zitat ![]() |
---|---|---|
es verbindet dich mit dem blitzbasic.de irc channel ![]() IRC = Internet Relay Chat Gruß Nescio |
||
Quod est faciendum? Nescio! |
![]() |
Ghost |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah.. ja soo..
xD danke für die Info. Werd ich mir merken ![]() |
||
Das ist keine Lüge sondern eine sachzwangreduzierte Ehrlichkeit.
---- Anakin: " Was für eine Lichtschwertform habt ihr da eigentlich benutzt, Meister? " Obi Wan: " Form? Es war wohl eher ein Mangel an Form. " |
![]() |
Nescio |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, dank Nicis Code hab ich jetzt die Grundlagen der Kommunikation mit Servern verstanden und daraus mal en erweiterten RC-Client geschrieben. Klappt soweit ganz gut.
Befehle müssen mit einem / begonnen werden, ansonsten wirds als normaler Text gelesen. Desweiteren wird nach wie vor ALLE information vom Server angezeigt, das reine Chatten fällt also noch etwas schwer. Und Umlaute und Sonderzeichen werden zwar korrekt verschickt, allerdings nicht korrekt angezeigt. Wer daran was ändern will darf dies gerne tun und anschließend posten. MfG, Nescio Code: [AUSKLAPPEN] Type zeile
Field z$ End Type Graphics 800,600,0,2 SetBuffer BackBuffer() IRCStream=OpenTCPStream("dope.se.eu.blitzed.org",6667) hostname$="BB-IRC-Client" user$=Input("Dein Nickname: ") name$=Input("Dein wirklicher Name: ") server$=Input("Welcher Server? ") If server$="" Then server$="dope.se.eu.blitzed.org" WriteLine IRCStream,"USER "+user$+" "+hostname$+" "+server$+" :"+user$ WriteLine IRCStream,"NICK "+user$ channel$="" While Not KeyDown(1) Bytes=ReadAvail(IRCStream) While Bytes>0 inmsg$=ReadLine(IRCStream) If inmsg$<>0 ze.zeile=New zeile ze\z$=inmsg$ EndIf If Left(Trim(Upper(inmsg$)),4) = "PING" Then WriteLine IRCStream, "PONG "+Mid(Trim(Upper(inmsg$)),5) EndIf Bytes=ReadAvail(IRCStream) Wend If KeyHit(28) And Len(eingabe$)>0 Then in=Instr(eingabe$,"#") If in Then channel$=Mid$(eingabe$,in) If Left$(eingabe$,1)="/" Then eingabe$=Mid$(eingabe$,2) Else eingabe$="PRIVMSG "+channel$+" :"+eingabe$ EndIf WriteLine IRCStream,eingabe$+Chr(10)+Chr(13) ze.zeile=New zeile ze\z$=eingabe$ eingabe$="" EndIf key=GetKey() If key>31 Then eingabe$=eingabe$+Chr$(key) ElseIf key=8 And Len(eingabe$)>0 Then eingabe$=Left$(eingabe$,Len(eingabe$)-1) EndIf ;Graphische Ausgabe Cls Color 255,255,255 zy=0 For ze.zeile=Each zeile zerhack$=ze\z$ While StringWidth(zerhack$)>800 teilbreite=800/StringWidth("w") Text 0,zy-scroll,Left$(zerhack$,teilbreite) zerhack$=Mid$(zerhack$,teilbreite+1) zy=zy+12 Wend Text 0,zy-scroll,zerhack$ zy=zy+13 Next If zy>550 Then scroll=zy-550 Color 0,255,0 Text 10,580,eingabe$+"_" Flip Wend CloseTCPStream(IRCStream) End |
||
Quod est faciendum? Nescio! |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tolle Sache, aber ich halte es für unnötig ein geklärtes Problem noch weiter aufzupushen. =D | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group