예제 #1
0
파일: nick.c 프로젝트: krautchan/boskop-ng
int reply(info_t * in) {
   char *p;

   if (in->cmd == cmd_numeric && in->numeric == 1) {
      strnzcpy(in->me, in->argv[0], NICKLEN+1);
   } else if (in->cmd == cmd_nick) {
      if (!strcasecmp(in->sender_nick, in->me)) {
	if (strlen(in->tail))
          strnzcpy(in->me, in->tail, NICKLEN+1);
        else if (strlen(in->argv[0]))
	  strnzcpy(in->me, in->argv[0], NICKLEN+1);
	if (!strcasecmp(in->me, wantednick))
		wantednick[0] = '\0';
      } else if (wantednick[0] && !strcasecmp(in->sender_nick, wantednick)){
      	irc_send("NICK %s", wantednick);
        lasttry = time(NULL);
      }
   } else if (in->cmd == cmd_numeric && in->numeric == 433 && !in->me[0]) {
      irc_send("NICK %s_", in->argv[1]);
      lasttry = time(NULL);
      strnzcpy(wantednick, in->argv[1], NICKLEN+1);
   } else if (in->cmd == cmd_privmsg && CHECKAUTH(in->sender, UL_OP)) {
      in->tail = skip_nick(in->tail, in->me);
      if(!tail_cmd(&in->tail, "nick") && (p = tail_getp(&in->tail))) {
         irc_send("NICK %s", p);
         lasttry = time(NULL);
	 strnzcpy(wantednick, p, NICKLEN+1);
      }
      if(!tail_cmd(&in->tail, "whoareyou"))
	irc_privmsg(to_sender(in), "I am %s", in->me);
   }
   return 0;
}
예제 #2
0
int reply(info_t * in) {
	char *p;
	int i;

	if (in->cmd == cmd_privmsg && !tail_cmd(&in->tail,"fut")) {
		i = config_getcnt("fut.so", "insult");
		p = tail_getp(&in->tail);
		if(p) {
			irc_privmsg(to_sender(in), "%s: %s", p, 
				i?config_getn("fut.so", "insult", rrand(i)):"Fut");
		} else {
			irc_privmsg(to_sender(in), "%s",
				i?config_getn("fut.so", "insult", rrand(i)):"Fut");
		}
	}

	return 0;
}