on *:start: { set %ticks $ticks } alias voteCheckNickChange { ;1 : oldnick ;2 : Anna ;3 : #linkomanija ;4 : LostSoul ;5 : E113F84.EB90CBAF.A76EF9F8.IP ;6 : irc.data.lt ;7 : Viki ;8 : Hr ;9 : 1 ;10: Viki if (r isincs $8) { if ($voteCheckCheat(%votePollId,$false,$1,$4,$5,$10-)) { var %org_nick = $gettok($v1,1,9) var %multiid = $gettok($v1,3,9) voteSetCheat %votePollId %multiid %org_nick $7 $4 $5 $10- } } } alias voteSetCheat { voteMysqlConn $scriptline var %pollid = $1 var %multiid = $2 var %onick = ' $+ $strip($deltok($mysql.return(,EscapeString,$3),1-4,32)) $+ ' var %fnick = ' $+ $strip($deltok($mysql.return(,EscapeString,$4),1-4,32)) $+ ' var %ident = ' $+ $strip($deltok($mysql.return(,EscapeString,$5),1-4,32)) $+ ' var %host = ' $+ $strip($deltok($mysql.return(,EscapeString,$6),1-4,32)) $+ ' var %name = ' $+ $strip($deltok($mysql.return(,EscapeString,$7-),1-4,32)) $+ ' mysql.query %voteSqlLabel INSERT INTO vote_cheaters (poll_id,vote_multiid,org_nick,fake_nick,ident,host,name) VALUES $& ( %pollid , %multiid , %onick , %fnick , %ident , %host , %name ); voteMysqlErrorCheck $scriptline } on *:nick: { if (%voteActive) { nickInfo $newnick voteCheckNickChange $nick } } alias voteLoadStuff { set %voteSqlLabel voter set %voteSqlDb Systembit } alias voteMysqlConn { if (!$mysql.conn(%voteSqlLabel,%voteSqlDb)) { voteDebug Error Connecting to SQL SL: $1 halt } } alias voteMysqlErrorCheck { if (%SqlQueryOk) { return } else { voteDebug SL: $1 %sqlQuerySTring halt } } alias voteDebug { voteDebugPrepare echo @voteDebug $timestamp $1- } alias voteDebugPrepare { window @voteDebug } alias voteCheckCheat { ;1 : PollId ;2 : multiid ($false if not needed) ;3 : nick ;4 : ident ;5 : host ;6 : name /* Checks: $false 1. %pollid AND %nick AND %ident OR %pollid AND %nick AND %host OR %pollid AND %nick AND %name 2. OR %pollid AND %ident AND %host OR %pollid AND %name 3. OR %pollid AND %host AND %name 4. OR %pollid AND %nick Checks: $true 1. %pollid AND %multiid AND %nick AND %ident OR %pollid AND %multiid AND %nick AND %host OR %pollid AND %multiid AND %nick AND %name 2. OR %pollid AND %multiid AND %ident AND %host OR %pollid AND %multiid AND %name 3. OR %pollid AND %multiid AND %host AND %name 4. OR %pollid AND %multiid AND %nick */ voteMysqlConn $scriptline var %pollid = poll_id= $+ $1 var %multiid = vote_multiid= $+ $2 var %nick = fake_nick=' $+ $strip($deltok($mysql.return(,EscapeString,$3),1-4,32)) $+ ' var %ident = ident=' $+ $strip($deltok($mysql.return(,EscapeString,$4),1-4,32)) $+ ' var %host = host=' $+ $strip($deltok($mysql.return(,EscapeString,$5),1-4,32)) $+ ' var %name = name=' $+ $strip($deltok($mysql.return(,EscapeString,$6-),1-4,32)) $+ ' if ($2) { var %where = %pollid AND %multiid AND %nick AND %ident OR %pollid AND %multiid AND %nick AND %host OR %pollid AND %multiid AND %nick AND %name $& OR %pollid AND %multiid AND %ident AND %host OR %pollid AND %multiid AND %name $& OR %pollid AND %multiid AND %host AND %name $& OR %pollid AND %multiid AND %nick } else { var %where = %pollid AND %nick AND %ident OR %pollid AND %nick AND %host OR %pollid AND %nick AND %name $& OR %pollid AND %ident AND %host OR %pollid AND %name $& OR %pollid AND %host AND %name $& OR %pollid AND %nick } mysql.query %voteSqlLabel SELECT org_nick,fake_nick,vote_multiid FROM vote_cheaters WHERE %where $+ ; voteMysqlErrorCheck $scriptline if ($gettok($mysql.return(%voteSqlLabel,rows),5,32) !== 0) { return $gettok($mysql.return(%voteSqlLabel,FetchRow,1),6,32) $+ $chr(9) $+ $v1 } else { return $false } }