Simple script that will version everyone in a channel to see which client is the most popular. Can also save the results to a file, if wanted.
just type /versionscan in the channel you want to scan... but not everyone likes to just be version'd like that... :_)
Okay, I just have to say: this thing does not always work completely, especially when the channel is too large CTCPs will get throttled, and some stuff might suddenly not work. I can't really be bothered to make it work properly on large channels because testing is a pain the butt... ;_)
alias versionscan {
dialog -m versionscan versionscan
set %vc.versionscan 1
var %count 1
set %vc.total $nick($chan, 0)
while (%count <= %vc.total) {
.timer 1 %count ctcp $nick($chan, %count) VERSION
inc %count
}
}
on *:CTCPREPLY:VERSION*: {
if (%vc.versionscan == 1) {
if ($2 != $chr(40)) {
inc %vc.version. [ $+ [ $2 ] ]
}
else {
inc %vc.version. [ $+ [ $3 ] ]
}
inc %vc.count
if (%vc.count == %vc.total) {
.timer 1 2 versionlist
}
}
}
alias versionlist {
var %count 1
var %total $var(%vc.version.*, 0)
while (%count <= %total) {
did -a versionscan 1 $strip($eval($var(%vc.version.*, %count), 2) $gettok($var(%vc.version.*, %count), -1, 46))
inc %count
}
unset %vc.*
}
on *:DIALOG:versionscan:sclick:2: {
var %filename $?="save to file..."
did -b $dname 2
var %count 1
var %total $did(1).lines
while (%count <= %total) {
write $qt(%filename) $did(1, %count).text
inc %count
}
did -e $dname 2
}
dialog versionscan {
title "VersionScanner v1.0"
size -1 -1 126 114
option dbu
list 1, 0 0 126 100, sort size
button "Save results", 2, 78 101 47 12
}