rendered paste body#include <winsock2.h>#include <stdio.h>#define server "irc.rohitab.com"#define port 6667#define nick "xxRadKid"#define chan "#rohitab"char buff[990000];char buff2[4096];char tmp[4096];char *pointer;char *message;char *join;char *skip;char name[]="Jarhead";//char password[]="lolzitsabot"; int main(){ WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WSAData); SOCKET sock; SOCKADDR_IN sin; sock = socket(AF_INET, SOCK_STREAM, 0); struct hostent host; host = *(struct hostent *) gethostbyname (server); memset (&sin, 0, sizeof sin); sin.sin_family = AF_INET; sin.sin_addr.s_addr = ((struct in_addr *) (host.h_addr))->s_addr; sin.sin_port = htons (port); if (connect (sock, &sin, sizeof sin) == SOCKET_ERROR) return INVALID_SOCKET; memset(tmp,0,255); sprintf(tmp,"USER %s \"\" \"127.0.0.1\" :%s\r\n",nick,nick); send(sock,tmp,strlen(tmp),0); memset(tmp,0,255); //sprintf(tmp,"MODE %s +b\r\n",nick); //send(sock,tmp,strlen(tmp),0); //memset(tmp,0,255); sprintf(tmp,"NICK %s\r\n",nick); send(sock,tmp,strlen(tmp),0); memset(tmp,0,255); Sleep(100); sprintf(tmp,"JOIN %s\r\n",chan); send(sock,tmp,strlen(tmp),0); Sleep(100); printf("Join Successful\n"); memset(tmp,0,255); Sleep(1000);//sprintf(tmp,"PRIVMSG nickserv :identify %s\r\n",password);//send(sock,tmp,strlen(tmp),0);//memset(tmp,0,255);//Sleep(10); memset(buff,0,4096); while(recv(sock, buff, sizeof buff, 0) > 0) { printf(buff); //to find out wat the shit is going wrong //Make so it replys to the chan the command is in. strcpy(buff2, buff); pointer = strtok(buff2," "); pointer = strtok(NULL, " "); pointer = strtok(NULL, " "); if(pointer != NULL){ strcpy(chan, pointer);} memset(buff2,0,4096); free(pointer); if(strncmp(buff, "PING", 4) == 0) { buff[1] = 'O'; send(sock, buff, 4, 0); memset(buff,0,4096); continue; }// Test Command, just to make sure its all working....:P if (strstr(buff,"*test")!=NULL) { sprintf(tmp, "privmsg %s :w00t\r\n", chan); send(sock,tmp,strlen(tmp),0); memset(buff,0,4096); }//Notice Command usage *notice <nick> if (strstr(buff,"*notice")!=NULL) { pointer = strtok(buff, "*"); pointer = strtok(NULL," "); pointer = strtok(NULL,"\r\n"); message = strtok(pointer, " "); message = strtok(NULL, "\r\n"); sprintf(tmp, "notice %s :%s\r\n",pointer ,message); send(sock,tmp,strlen(tmp),0); memset(tmp,0,4096); memset(buff,0,4096); free(pointer); }//Kick Command usage *kick <nick> if (strstr(buff,"*kick")!=NULL) { pointer = strtok(buff, "*"); pointer = strtok(NULL," "); pointer = strtok(NULL,"\r\n"); sprintf(tmp, "KICK %s %s\r\n",chan ,pointer); send(sock,tmp,strlen(tmp),0); memset(tmp,0,4096); memset(buff,0,4096); free(pointer); }//Join Command uasge *join <channel> if (strstr(buff,"*join")!=NULL) { pointer = strtok(buff, "*"); pointer = strtok(NULL," "); pointer = strtok(NULL,"\r\n"); sprintf(tmp, "JOIN %s\r\n",pointer); send(sock,tmp,strlen(tmp),0); memset(tmp,0,4096); memset(buff,0,4096); free(pointer); }//Whois Query usage *whois <nick> /*if (strstr(buff,"*whois")!=NULL) { if (buff[0]==':'){ skip = buff+1; } pointer = strtok(skip,"!"); message = strtok(NULL,"*"); message = strtok(NULL," "); message = strtok(NULL,"\r\n"); //puts(pointer); //puts(message); sprintf(tmp, "WHOIS %s\r\n",message); send(sock,tmp,strlen(tmp),0); memset(tmp,0,4096); recv(sock, buff, sizeof(buff),0); puts(buff); printf("%d\n",strlen(buff)); sprintf(tmp,"PRIVMSG %s :%s\r\n",pointer,buff); send(sock,tmp,strlen(tmp),0); memset(tmp,0,4096); memset(buff,0,4096); }*///Private Message, usage *pm <recipient> <message> if (strstr(buff,"*pm")!=NULL) { pointer = strtok(buff, "*"); pointer = strtok(NULL," "); pointer = strtok(NULL,"\r\n"); message = strtok(pointer, " "); message = strtok(NULL, "\r\n"); sprintf(tmp, "privmsg %s :%s\r\n",pointer ,message); send(sock,tmp,strlen(tmp),0); memset(tmp,0,4096); memset(buff,0,4096); free(pointer); }//Quit Section usage *quit <die or part> if (strstr(buff,"*quit")!=NULL) { pointer = strtok(buff, "*"); pointer = strtok(NULL," "); pointer = strtok(NULL,"\r\n"); message = strtok(buff, "!"); if (message[0]==':'){ skip = buff+1; } puts(skip); if(strstr(skip,name)!=NULL){ if (strstr(pointer,"die")!=NULL) { sprintf(tmp, "QUIT Cyaz\r\n"); send(sock,tmp,strlen(tmp),0); memset(tmp,0,4096); memset(buff,0,4096); free(pointer); } if (strstr(pointer,"part")!=NULL) { sprintf(tmp, "PART %s\r\n",chan); send(sock,tmp,strlen(tmp),0); memset(tmp,0,4096); memset(buff,0,4096); free(pointer); } } else { sprintf(tmp, "privmsg %s :Auth Required\r\n", skip); send(sock,tmp,strlen(tmp),0); memset(tmp,0,4096); memset(buff,0,4096); }//End Quit Section } } Sleep(100); WSACleanup();}