rendered paste bodyon *:TEXT:*:#:{
if ($chan == $active) && ($appactive == $true) { halt }
if ($highlighttrig($1-) == yes) || ($+(*,$me,*) iswm $1-) {
if ($isbot($nick) == $false) {
if ($($+(%,highlightspam.,$address($nick,2)),2) >= %highlight.times) {
.ignore -u60 $nick 2
if ($appactive == $false) {
if ($window(@Highlights)) { closewin | showpopup $nick triggerd your highlight spam protection! Ignoring user for 60 seconds. }
else { showpopup $nick triggerd your highlight spam protection! Ignoring user for 60 seconds. }
}
else { echo -at *** $nick triggerd your highlight spam protection! Ignoring user for 60 seconds. }
unset $+(%,highlightspam.,$address($nick,2))
halt
}
if ($appactive == $false) {
if (%highlightprot.status == on) { inc -u $+ %highlight.secs $+(%,highlightspam.,$address($nick,2)) }
if ($window(@Highlights)) { closewin | showpopup $nick highlighted you in $chan on $network saying $strip($qt($1-)) }
else { showpopup $nick highlighted you in $chan on $network saying $strip($qt($1-)) }
if (%logging.high == on) { write highlights.txt $time([hh:nn:ssTT) @ $date(dd/mm/yy]) $+($nick,/,$chan,/,$network,:) $strip($1-) }
}
else {
echo -at *** Highlight: $nick highlighted you in $chan on $network saying $strip($qt($1-))
if (%highlightprot.status == on) { inc -u $+ %highlight.secs $+(%,highlightspam.,$address($nick,2)) }
if (%logging.high == on) { write highlights.txt $time([hh:nn:ssTT) @ $date(dd/mm/yy]) $+($nick,/,$chan,/,$network,:) $strip($1-) }
}
}
}
}
menu channel,status {
-
Highlight Logs:highlightlogs
}
dialog highlight {
title Highlight logs $+($chr(40),$lines(highlights.txt),$chr(41))
size -1 -1 242 161
option dbu
list 1, 6 12 231 81, size hsbar vsbar
box "Logs", 2, 4 2 235 96
button "Delete", 3, 62 107 37 12
button "Clear logs", 4, 62 126 37 12
text "Written by Mr_White (AKA Arbiter) @ sir_sonic1234@yahoo.com", 9, 5 146 163 8
link "alice.heliohost.org", 11, 182 145 54 8
button "Close", 12, 107 126 37 12, ok cancel
radio "Enable Logging", 8, 7 112 50 10
radio "Disable Logging", 10, 7 128 50 10
button "Update Bots", 13, 107 107 37 12
text "Credit for the popup alias goes to Xnemesis (www.crispycrisp.org)", 14, 180 118 54 25
button "Highlight Triggers", 5, 149 109 27 27, multi
button "Highlight Spam", 6, 187 103 41 12
}
on *:dialog:highlight:*:*:{
if ($devent == init) && ($did == 0) { updateit }
if ($devent == sclick) {
if ($did == 3) {
var %l = $read(highlights.txt,nw,$+(*,$gettok($did(highlight,1).seltext,5-,32),*))
write -dw $+ $qt(%l) highlights.txt %l
closeit
}
if ($did == 4) { write -c highlights.txt | echo -at *** Highlight log files cleard. | closeit }
if ($did == 8) {
if (%logging.high == on) { echo -at *** Error: Highlight logging is already on. }
else {
set %logging.high on
echo -at *** Highlight logging enabled.
}
}
if ($did == 10) {
if (%logging.high == off) { echo -at *** Error: Highlight logging is already on. }
else {
set %logging.high off
echo -at *** Highlight logging disabled.
}
}
if ($did == 12) { dialog -x highlight }
if ($did == 13) { botlist }
if ($did == 5) { dialog -x highlight | dialog -dm trigs trigs }
if ($did == 6) { dialog -x highlight | dialog -dm protecthi protecthi }
}
}
dialog trigs {
title Highlight Triggers $+($chr(40),$lines(highlighttrigs.txt),$chr(41))
size -1 -1 242 161
option dbu
combo 1, 10 15 222 99, size edit hsbar vsbar
box "Triggers", 2, 6 6 230 112
button "Add", 3, 10 124 37 12
button "Delete", 4, 10 143 37 12
button "Clear", 5, 60 124 37 12
button "Save && Close", 6, 60 143 37 12, ok cancel
edit "Notes: Regex is not supported in the highlight triggers. To add a highlight, input it in the edit box above and hit Add. To delete a trigger, highlight the trigger in the list box and hit Delete. Clear removes all triggers.", 7, 106 121 131 37, read multi
}
on *:dialog:trigs:*:*:{
if ($devent == init) && ($did == 0) { updateit2 }
if ($devent == sclick) {
if ($did == 4) {
var %l = $read(highlighttrigs.txt,nw,$+(*,$did(trigs,1).seltext,*))
write -dw $+ $qt(%l) highlighttrigs.txt %l
closeit2
}
if ($did == 5) { write -c highlighttrigs.txt | echo -at *** Highlight triggers cleard. | closeit2 }
if ($did == 3) { write highlighttrigs.txt $did(trigs,1).text | closeit2 }
}
}
dialog protecthi {
title "Highlight spam options"
size -1 -1 178 112
option dbu
radio "On", 1, 7 17 23 10
radio "Off", 2, 7 39 26 10
box "Protection status", 3, 4 6 51 50
button "Close", 4, 5 59 37 12, ok cancel
button "Highlight Log", 5, 5 76 37 12
button "Highlight Triggers", 6, 5 92 37 17, multi
box "Options", 7, 95 4 74 42
text "Secs:", 10, 99 15 18 8
text "Times:", 11, 99 30 20 8
edit "", 12, 121 15 20 10
edit "", 13, 121 30 20 10
text "Notes: Use the ON/OFF switchs to enable/disable the highlgiht spam protection. In the options part, Times = the amount of times you're highlighted by the same person in X seconds (Secs section).", 14, 58 70 114 37
button "Save", 15, 127 52 37 12
}
on *:dialog:protecthi:*:*:{
if ($devent == init) && ($did == 0) { updateit3 }
if ($devent == sclick) {
if ($did == 1) { set %highlightprot.status on | echo -at *** Highlight spam protection is now on. }
if ($did == 2) { set %highlightprot.status off | echo -at *** Highlight spam protection is now off. }
if ($did == 5) { dialog -x protecthi | dialog -dm highlight highlight }
if ($did == 6) { dialog -x protecthi | dialog -dm trigs trigs }
if ($did == 15) {
if ($did(protecthi,12).text != $null) && ($did(protecthi,13).text != $null) {
set %highlight.secs $did(protecthi,12).text
set %highlight.times $did(protecthi,13).text
echo -at *** Highlight protection will now ignore user (when activated) after $did(protecthi,13).text times in $did(protecthi,12).text seconds.
}
else { echo -at *** Error: Secs/Times values cannot be blank! Using defualt values instead. | set %highlight.secs 15 | set %highlight.times 5 | dialog -x protecthi | dialog -dm protecthi protecthi }
}
}
}
alias highlighttrig {
var %i = 1
while (%i <= $lines(highlighttrigs.txt)) {
if ($+(*,$read(highlighttrigs.txt,%i),*) iswm $1-) { return yes | break }
else { inc %i }
}
}
alias -l updateit3 {
did -c protecthi $iif(%highlightprot.status == on,1,2)
did -a protecthi 12 %highlight.secs
did -a protecthi 13 %highlight.times
}
alias -l updateit2 {
var %i = 1
while (%i <= $lines(highlighttrigs.txt)) {
did -a trigs 1 $read(highlighttrigs.txt,n,%i)
inc %i
}
}
alias -l updateit {
did -c highlight $iif(%logging.high == on,8,10)
var %i = 1
while (%i <= $lines(highlights.txt)) {
did -a highlight 1 $read(highlights.txt,n,%i)
inc %i
}
}
alias -l closeit { dialog -x highlight | dialog -dm highlight highlight }
alias -l closeit2 { dialog -x trigs | dialog -dm trigs trigs }
alias highlightlogs {
if ($dialog(highlight)) { dialog -x highlight | dialog -dm highlight highlight }
else { dialog -dm highlight highlight }
}
on ^*:NOTICE:*:?: {
if ($nick = BotServ && %botlist) {
haltdef
if ($regex($1-,/^(\S+) \(\w+@\w+\.\w+(?:\.\w+)*\)$/Si)) write bots.txt $regml(1)
elseif ($regex($1-,/^(\d+) bots available\.$/Si)) {
unset %botlist
echo -a Finished writing bots to BotList. There are currently $regml(1) bots available. This alias was written by Kol of SwiftIRC.
}
}
}
alias isbot return $iif($read(bots.txt,r,/^\Q $+ $$1 $+ \E$/),$true,$false)
alias botlist {
echo -a Updating BotList
bs botlist
set %botlist on
write -c bots.txt
}
alias closewin { close -@Highlights }
alias showPopup {
window -pBdk0w0o +blL @Highlights $calc(%highlights.screenx - 250) $calc(%highlights.screenx - 92) 250 63
drawfill @Highlights $popc1 $popc1 0 0
var %highlights.nxtln = $true, %highlights.popup = $1-, %highlights.y = 9
while (%highlights.nxtln) {
if ($len(%highlights.popup) > 50) {
if (%highlights.y == 39) {
drawtext -p @Highlights $popc2 10 %highlights.y $mid(%highlights.popup,0,46) ...
unset %highlights.nxtln
unset %highlights.popup
}
else {
drawtext -p @Highlights $popc2 10 %highlights.y $mid(%highlights.popup,0,50)
%highlights.popup = $mid(%highlights.popup,51,$mid(%highlights.popup,51,0))
}
}
else {
drawtext -p @Highlights $popc2 10 %highlights.y %highlights.popup
unset %highlights.nxtln
unset %highlights.popup
}
inc %highlights.y 10
}
.timerwin 1 5 close -@Highlights
}
alias -l popc1 {
return 15
}
alias -l popc2 {
return 01
}
on *:start:{
%highlights.screenx = $window(-1).w
%highlights.screeny = $window(-1).h
}
on *:load:{
%highlights.screenx = $window(-1).w
%highlights.screeny = $window(-1).h
%highlight.secs = 15
%highlight.times = 5
}