-/* event_neonspam_join.c - NeonServ v5.2
+/* event_neonspam_join.c - NeonServ v5.3
* Copyright (C) 2011 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
if(chanuser->user->flags & USERFLAG_WAS_REGISTRING) return;
struct ClientSocket *client = getChannelBot(chanuser->chan, BOTID);
if(!client) return; //we can't "see" this event
+ if(chanuser->user == client->user) {
+ requestOp(client->user, chanuser->chan);
+ return;
+ }
+ if(chanuser->user->flags & USERFLAG_ISBOT) return;
loadNeonSpamSettings(chanuser->chan);
struct NeonSpamSettings *settings = chanuser->chan->spam_settings;
if(!settings || !(settings->flags & SPAMSETTINGS_JOINSCAN)) return;
char banmaskBuf[NICKLEN+USERLEN+HOSTLEN+3];
char *banmask = NULL;
switch (atoi((row[0] ? row[0] : defaults[0]))) {
- case 3: //TIMEBAN: 1h
+ case 2: //TIMEBAN
banmask = generate_banmask(chanuser->user, banmaskBuf);
printf_mysql_query("INSERT INTO `bans` (`ban_channel`, `ban_mask`, `ban_triggered`, `ban_timeout`, `ban_owner`, `ban_reason`) VALUES ('%d', '%s', UNIX_TIMESTAMP(), '%lu', '%d', '%s')", chanuser->chan->channel_id, escape_string(banmask), (unsigned long) (duration ? (time(0) + duration) : 0), 0, escape_string(reason));
if(duration) {