summaryrefslogtreecommitdiff
path: root/ircify.c
diff options
context:
space:
mode:
Diffstat (limited to 'ircify.c')
-rw-r--r--ircify.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/ircify.c b/ircify.c
index a8e5ca4..6bf40fe 100644
--- a/ircify.c
+++ b/ircify.c
@@ -8,14 +8,20 @@ extern struct global libline;
int pin[2];
int pout[2];
+char channel[256];
+
void line_handler(struct shit *me,char *line) {
char tmp[1024];
if(!strncmp(line,"PING ",5)) {
- line[1]='O';
- printf("%s\r\n",line);
+ printf("PONG :%s\r\n",line+5);
+ fflush(stdout);
}
if(*line == ':') {
if(strchr(line,' ')) {
+ if(!strncmp(strchr(line,' ')," 376 ",5)) {
+ printf("JOIN %s\r\n",channel);
+ fflush(stdout);
+ }
if(!strncmp(strchr(line,' ')," PRIVMSG ",9)) {
if(strchr(line+1,':')) {
snprintf(tmp,sizeof(tmp),"%s\n",strchr(line+1,':')+1);
@@ -24,17 +30,18 @@ void line_handler(struct shit *me,char *line) {
}
}
}
- fprintf(stderr,"READ SHIT: %s\n",line);
+ fprintf(stderr,"%s\n",line);
}
-char channel[256];
-
void line_handler2(struct shit *me,char *line) {
printf("PRIVMSG %s :%s\r\n",channel,line);
- fflush(stdout);
}
int main(int argc,char *argv[]) {
+ setlinebuf(stdout);
+ printf("NICK revbot\r\n");
+ printf("USER asdf asdf asdf :asdf\r\n");
+ fflush(stdout);
strcpy(channel,argv[1]);
argv+=2;
int i=0;