void event_channel (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count) { irc_ctx_t * ctx = (irc_ctx_t *) irc_get_ctx (session); if ( !origin || count != 2 ) return; if ( strstr (params[1], "f**k") == 0 ) return; char nickbuf[128], text[256]; irc_target_get_nick (origin, nickbuf, sizeof(nickbuf)); if ( ctx->insolents.find(nickbuf) == ctx->insolents.end() ) ctx->insolents[nickbuf] = 0; ctx->insolents[nickbuf]++; printf ("'%s' swears in the channel '%s' %d times\n", nickbuf, params[1], ctx->insolents[nickbuf]); switch (ctx->insolents[nickbuf]) { case 1: // Send a private message sprintf (text, "%s, please do not swear in this channel.", nickbuf); irc_cmd_msg (session, nickbuf, text); break; case 2: // Send a channel message sprintf (text, "%s, do not swear in this channel, or you'll leave it.", nickbuf); irc_cmd_msg (session, params[0], text); break; default: // Send a channel notice, and kick the insolent sprintf (text, "kicked %s from %s for swearing.", nickbuf, params[0]); irc_cmd_me (session, params[0], text); irc_cmd_kick (session, nickbuf, params[0], "swearing"); break; } }
void botcmd_randkick(irc_session_t* session) { int n; char* to_kick; n = random() % name_count; if (name_list[n][0] != '+' && name_list[n][0] != '@') { to_kick = &name_list[n][0]; } else { to_kick = &name_list[n][1]; } irc_cmd_msg(session, bot_channel, "Random kick to: "); irc_cmd_msg(session, bot_channel, to_kick); irc_cmd_kick(session, to_kick, bot_channel,"Random kick"); }
/* Credits to lastdance */ void botcmd_slots(irc_session_t* session, const char* send_to, const char* sender) { int option; char buf[256]; buf[0] = 0; option = rand() % 11; printf("Doing Slots: %d came out...\n", option); switch (option) { case 1: irc_cmd_kick(session, sender, send_to, "WIN!!1!11!ONE"); break; case 2: irc_cmd_msg(session, send_to, "ENORMES SEIOS!"); break; case 3: sprintf(buf, "MODE %s -v %s", bot_channel, sender); irc_send_raw(session, buf); sprintf(buf, "MODE %s -o %s", bot_channel, sender); irc_send_raw(session, buf); /* sprintf(buf, "CHANSERV ACCESS %s DEL %s", bot_channel, sender); irc_send_raw(session, buf); */ break; case 4: sprintf(buf, "MODE %s +o %s", bot_channel, sender); irc_send_raw(session, buf); irc_cmd_msg(session, send_to, "GANHASTE OP!"); irc_cmd_kick(session, sender, bot_channel, "solved"); break; case 5: /* botcmd_fortune(session, send_to); */ irc_cmd_msg(session, send_to, "YOU WON...!"); break; case 6: irc_cmd_msg(session, send_to, "It's time to kick bubble gum and chew some ass!"); botcmd_randkick(session); break; case 7: irc_cmd_msg(session, send_to, ".|."); break; case 8: irc_cmd_msg(session, send_to, "Nao mandas em mim!"); break; case 9: irc_cmd_msg(session, send_to, "http://www.youtube.com/watch?v=oHg5SJYRHA0"); break; case 10: botcmd_goatsex(session, send_to); break; case 0: irc_cmd_msg(session, send_to, "Perdeste."); break; } }