IRC Bot macht Probleme (Winsock)
-
Hallo,
also ich habe ja mal angefangen mit mit WInsock zu beschäftigen und da kann man ja sogar einen IRC BOt basteln das musste ich natürlich gleich ausprobieren ein Freund von mir hat das auch gemacht ich habe ihn dann halt ein bisschen ausgefragt und bin bis hier gekommen gut mein Problem ist nun ich bin mit dem IRC Netzwerk verbunden aber ich muss nun nurnoch in einen Channel kommen das soll so gehen das mann dem Server nachrichten schikt er sagte erwas von nick bla, pass ...
Ich war dann ein bisschen verwirrt und hab das einfach probiert und versucht nick bla zu senden hat geklappt 8 Bytes Gesendet! aber keine rückantwort das ist nun mein Problem.
Ok hier ist der Code der ist ein bisschen komisch denn, ich hab denn jetzt so oft umgeschrieben :#include <windows.h> #include <winsock.h> #include <stdio.h> int startWinsock(void); int main(int argc, char* argv[]) { long rc; SOCKET s; bool mainloop=true; SOCKADDR_IN addr; char buf[1024]; rc=startWinsock(); if(rc!=0) { printf("Fehler: startWinsock, fehler code: %d\n",rc); return 1; } else { printf("Winsock gestartet!\n"); } s=socket(AF_INET,SOCK_STREAM,0); if(s==INVALID_SOCKET) { printf("Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n",WSAGetLastError()); return 1; } else { printf("Socket erstellt!\n"); } memset(&addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten addr.sin_family=AF_INET; addr.sin_port=htons(6667); // wir verwenden mal port 6667 addr.sin_addr.s_addr=inet_addr("195.185.217.28"); // Mit IRC NEtzwerk verbinden :) rc=connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR)); if(rc==SOCKET_ERROR) { printf("Fehler: verbindungsaufbau gescheitert, fehler code: %d\n",WSAGetLastError()); return 1; } else { printf("Verbunden...\nAnfragen werden beantwortet bzw. gesendet...\n"); while(rc != SOCKET_ERROR && mainloop) { printf("Text eingeben: "); gets(buf); rc=send (s,buf,strlen(buf),0); if(rc==SOCKET_ERROR) { printf("Fehler: sendto, fehler code: %d\n",WSAGetLastError()); return 1; } else { printf("%d Bytes gesendet!\n", rc); } // rc=recv(s,buf,255,0); ??? } } if (mainloop==false) { return 0; } } int startWinsock(void) { WSADATA wsa; return WSAStartup(MAKEWORD(2,0),&wsa); }Also schonmal Danke ich hoffe ihr könnt helfen das ganze ist größtenteils Marke eigenbau wie man sieht o_O !
Gruß
PS : Bin neu hier hoffe das , dass hier richtig ist !

-
Dummie schrieb:
Bin neu hier
Na dann lern erstmal die Suchfuntion kennen

Mit einer schlichten Suche nach "IRC" hättest du auch das gefunden: http://forum.c-plusplus.net/viewtopic.php?t=71081&highlight=irc (ich denk mal dass es dein Problem löst)
-
Danke
Ich bin nun schon weiter und zwar kommt nun ein neues Problem das Netzwerk Spuckt einen Ping aus auf den man nun mit pong antworten muss ei Beispiel :Server antwortet: NOTICE ChatBot :*** If you are having problems connecting due to ping timeouts, please type /notice 992AB081 nospoof.now PING :992AB081
Dort steht nun PING :992AB081 das was hinter dem Ping steht muss ich in eine neue variabel speichern und mit pong 992AB081 wieder zurückschicken.
Und genau da liegt mein Problem vielleicht hat jemand da für mich noch einen Lösungsansatz.
Gruß

-
Habs alleine hinbekommen zawr sende ich das Pong aber trotzdem fliege ich nach ein paar sekunden wieder raus

Gruß
-
Ich hab nun viel probiert...
Bringt alles nicht ich wollte mal fragen ob jemand einen Bot hat der noch nicht so komplex ist und ganz einfach nur einen Channel joint und da bleibt
?C oder C++ ist egal

Ich bekommst einfach nicht hin !

Ich hoffe ihr könnt mir helfen
Gruß
-
Ok Jungs ich habs nun gescahfft mein Bot funktioniert er kann in einen Channel aber nicht beim euirc.net da gehts nicht da kommt ein Timeout jemand hat mir nun gesagt ich muss einen Ident Server basteln aber wie ist sowas aufgebaut ?
Da bräuchte ich eure HilfeGruß
Danke