static int pub_seen(char *nick, char *host, char *hand, char *channel, char *text) { char *dest; #if EGG_IS_MIN_VER(10500) struct chanset_t *chan; #endif Context; if (seenflood() || nopub(channel)) return 0; reset_global_vars(); glob_slang = slang_find(coreslangs, slang_chanlang_get(chanlangs, channel)); glob_nick = nick; putlog(LOG_CMDS, "*", "<<%s>> !%s! seen %s", nick, hand, text); if (quietseen(channel)) { set_prefix(SLNOTPREFIX); dprintf(DP_HELP, "NOTICE %s :%s%s\n", nick, reply_prefix, do_seen(newsplit(&text), nick, host, channel, botnet_seen)); return 0; } #if EGG_IS_MIN_VER(10500) chan = findchan_by_dname(channel); if (chan) dest = chan->name; else dest = channel; #else dest = channel; #endif set_prefix(SLPUBPREFIX); dprintf(DP_HELP, "PRIVMSG %s :%s%s\n", dest, reply_prefix, do_seen(newsplit(&text), nick, host, channel, botnet_seen)); return 0; }
/** * Handle seen fantasy command. **/ int do_fantasy_seen(int argc, char **argv) { User *u; char *target = NULL; ChannelStats *cs; char *message = NULL; if (denora->debug) protocol_debug(NULL, argc, argv); if (argc >= 3 && stricmp(argv[0], "seen") == 0) { u = finduser(argv[1]); cs = find_cs(argv[2]); if (argc == 3) { if (cs->flags & CS_NOTICE) moduleNoticeLang(s_StatServ, u, SEEN_USAGE, ChanStatsTrigger); else moduleNoticeChanLang(s_StatServ, cs, SEEN_USAGE, ChanStatsTrigger); } else { target = myStrGetToken(argv[3], ' ', 0); message = do_seen(u, target); if (cs->flags & CS_NOTICE) notice(s_StatServ, u->nick, message); else denora_cmd_privmsg(s_StatServ, cs->name, message); } } return MOD_CONT; }
static int bot_gseen_req(char *bot, char *code, char *par) { char *mask, *nick, *uhost, *chan, *reply; char tosend[256]; int i; Context; if (seenflood()) return 0; i = nextbot(bot); if (i < 0) { debug1("Couldn't answer botnet-seen-request from %s: no such bot", bot); return 0; } mask = newsplit(&par); nick = newsplit(&par); uhost = newsplit(&par); chan = newsplit(&par); reset_global_vars(); glob_slang = slang_find(coreslangs, slang_chanlang_get(chanlangs, chan)); glob_nick = nick; reply = do_seen(mask, nick, uhost, chan, -1); if (!reply) return 0; if ((strlen(nick) + strlen(chan) + strlen(reply)) < 255) { sprintf(tosend, "gseen_rep %s %s %s", nick, chan, reply); botnet_send_zapf(i, botnetnick, bot, tosend); } return 0; }
static int dcc_seen(struct userrec *u, int idx, char *par) { Context; putlog(LOG_CMDS, "*", "#%s# seen %s", dcc[idx].nick, par); do_seen(idx, "", dcc[idx].nick, dcc[idx].nick, "", par); return 0; }
/* PUB `seen' trigger. */ static int pub_seen(char *nick, char *host, char *hand, char *channel, char *text) { char prefix[91]; /* sizeof(name) + strlen("PRIVMSG :") */ struct chanset_t *chan = findchan_by_dname(channel); if ((chan != NULL) && channel_seen(chan)) { egg_snprintf(prefix, sizeof prefix, "PRIVMSG %s :", chan->name); do_seen(DP_HELP, prefix, nick, hand, chan->dname, text); } return 0; }
static int msg_seen(char *nick, char *host, struct userrec *u, char *text) { char prefix[50]; if (!u) { putlog(LOG_CMDS, "*", "[%s!%s] seen %s", nick, host, text); return 0; } putlog(LOG_CMDS, "*", "(%s!%s) !%s! SEEN %s", nick, host, u->handle, text); sprintf(prefix, "PRIVMSG %s :", nick); do_seen(DP_SERVER, prefix, nick, u->handle, "", text); return 0; }
/* PUB `seen' trigger. */ static int pub_seen(char *nick, char *host, char *hand, char *channel, char *text) { char prefix[50]; struct chanset_t *chan = findchan_by_dname(channel); Context; if ((chan != NULL) && channel_seen(chan)) { sprintf(prefix, "PRIVMSG %s :", chan->name); do_seen(DP_HELP, prefix, nick, hand, chan->dname, text); } return 0; }
static int msg_seen(char *nick, char *uhost, struct userrec *u, char *text) { Context; if (seenflood()) return 0; reset_global_vars(); glob_slang = slang_getbynick(coreslangs, nick); glob_nick = nick; putlog(LOG_CMDS, "*", "(%s!%s) !%s! seen %s", nick, uhost, u ? u->handle : "*", text); set_prefix(SLMSGPREFIX); dprintf(DP_HELP, "PRIVMSG %s :%s%s\n", nick, reply_prefix, do_seen(newsplit(&text), nick, uhost, "[/msg]", botnet_seen)); return 1; }
/** * Handle msg fantasy command. **/ int do_msg_seen(User * u, int argc, char **argv) { char *target = NULL; char *message = NULL; if (denora->debug) protocol_debug(NULL, argc, argv); if (argc < 1 || BadChar(argv[0])) { moduleNoticeLang(s_StatServ, u, SEEN_USAGE, ""); } else { target = myStrGetToken(argv[0], ' ', 0); message = do_seen(u, target); notice(s_StatServ, u->nick, message); } return MOD_CONT; }
static int cmd_seen(struct userrec *u, int idx, char *par) { char *query; Context; if (seenflood()) return 0; reset_global_vars(); glob_slang = slang_find(coreslangs, default_slang); glob_nick = dcc[idx].nick; query = newsplit(&par); glob_query = query; set_prefix(SLDCCPREFIX); putlog(LOG_CMDS, "*", "#%s# seen %s", dcc[idx].nick, par); dprintf(idx, "%s%s\n", reply_prefix, do_seen(query, dcc[idx].nick, dcc[idx].host, "[partyline]", botnet_seen)); return 0; }