A simple script the will block the CTCP Version reply.
ctcp 1:VERSION:{
.notice $me Received CTCP VERSION from $nick $+ / $+ $site
; ctcp $nick VERSION | halt
; set %vernick $nick
}
on 1:CTCPREPLY:VERSION*:{
if (%ctcpnick) {
ctcpreply %ctcpnick VERSION You are using $1- ! Have a great day!
unset %ctcpnick
}
}
menu channel,nicklist,query {
Fake Version Reply:fakectcp
}
dialog fakectcp {
title "CTCP Reply"
size -1 -1 137 54
option dbu
button "Add", 1, 61 1 37 12
button "Remove", 2, 100 1 37 12
text "Version Reply", 3, 1 6 34 8
list 4, 0 14 137 26, size
button "ON", 5, 25 41 37 12
button "OFF", 6, 62 41 37 12
button "Close", 7, 99 41 37 12, ok
}
on *:dialog:fakectcp:*:*: {
if ($devent == init) {
var %x $lines(fakectcp.txt), %y 0
while (%x > %y) { inc %y | did -a $dname 4 $read(fakectcp.txt,%y) }
}
if ($devent == sclick) {
if ($did == 1) { var %x $$?"Fake Version Reply:" | write fakectcp.txt %x | did -a $dname 4 %x }
if ($did == 2 && $did(4).sel) { write $+(-dl,$did(4).sel) fakectcp.txt | did -d $dname 4 $did(4).sel }
if ($did == 5) { $fakerep(on) | noop $tip(vhost,Fake CTCP,Fake CTCP: $crlf ON) }
if ($did == 6) { $fakerep(off) | noop $tip(vhost,Fake CTCP,Fake CTCP: $crlf OFF) }
}
if ($devent == dclick && $did == 4) {
set %vreply $did(4).seltext
noop $tip(vhost,Fake CTCP,Version Changed To: $crlf $did(4).seltext)
}
}
on *:connect:{ .debug -i NUL ctcp_changer | .ignore -t * | unset %cspam }
alias fakectcp dialog -m fakectcp fakectcp
alias fakerep {
if ($1 == on) { .debug -i NUL ctcp_changer | .ignore -t * }
elseif ($1 == off) { .debug off | .ignore -rt * }
}
alias ctcp_changer {
tokenize 32 $1-
if (%cspam > 3) { halt }
else {
set %ctcpnick $right($gettok($2, 1, 33), -1)
if ($2 == $server) { %ctcpnick = $me }
if ($1 == <- && $3 == PRIVMSG && ($4 == $me || $4 ischan)) {
if (:VERSION* iswm $5) { echo $colour(ctcp) -st [[ $+ %ctcpnick VERSION] | .ctcp %ctcpnick VERSION | inc -u10 %cspam | halt }
}
}
}