static void
track_kick(struct userNode *kicker, struct userNode *victim, struct chanNode *chan, UNUSED_ARG(void *extra)) {
if (!track_cfg.enabled) return;
- if (check_track_kick(track_cfg) && ((check_track_user(kicker->nick) || check_track_user(victim->nick))))
+ if (check_track_kick(track_cfg) && check_track_user(victim->nick))
{
+ if (kicker) /* net rider kicks dont have a kicker set */
+ {
+ if (!check_track_user(kicker->nick))
+ return;
+ }
+
UPDATE_TIMESTAMP();
TRACK("$bKICK$b %s from %s by %s", victim->nick, chan->name, (kicker ? kicker->nick : "some server"));
}
static void
track_conf_read(void) {
dict_t node;
- char *str;
+ char *str, *modes;
node = conf_get_data("modules/track", RECDB_OBJECT);
if (!node)
else
parse_track_conf(str);
str = database_get_data(node, "channel", RECDB_QSTRING);
+ modes = database_get_data(node, "channel_modes", RECDB_QSTRING);
if (!str)
return;
// XXX - dont do addchannel if the channel is being shared with
// another module:
- track_cfg.channel = AddChannel(str, now, "+sntOm", NULL, NULL);
+ track_cfg.channel = AddChannel(str, now, (modes ? modes : "+sntOm"), NULL, NULL);
if (!track_cfg.channel)
return;
str = database_get_data(node, "show_bursts", RECDB_QSTRING);