IRC Protokoll
Übersicht BlitzBasic
 BlitzBasic  Beginners-Corner
 Beginners-Corner|   | The_NiciBetreff: IRC Protokoll |  Sa, Jan 26, 2008 13:52 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 |  Sa, Jan 26, 2008 16:45 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 |  Sa, Jan 26, 2008 16:54 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 |  Sa, Jan 26, 2008 17:46 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 |  Do, Feb 14, 2008 17:43 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 |  Do, Feb 14, 2008 18:11 Antworten mit Zitat   | 
|---|---|---|
|  >.< Könnte mir bitte jemand sagen was dieses Programm bringt? 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 |  Do, Feb 14, 2008 18:13 Antworten mit Zitat   | 
|---|---|---|
| es verbindet dich mit dem blitzbasic.de irc channel   IRC = Internet Relay Chat Gruß Nescio | ||
| Quod est faciendum? Nescio! | ||
|   | Ghost |  Do, Feb 14, 2008 19:40 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 |  Do, Feb 14, 2008 21:30 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 |  Sa, Feb 16, 2008 13:40 Antworten mit Zitat   | 
|---|---|---|
| Tolle Sache, aber ich halte es für unnötig ein geklärtes Problem noch weiter aufzupushen. =D | ||
Übersicht
 BlitzBasic
 BlitzBasic  Beginners-Corner
 Beginners-Corner
					Powered by phpBB © 2001 - 2006, phpBB Group
				



