NOTE:MUST HAVE OPER STATUS, (LOCOP,IRCOP,ADMIN) FOR THIS TO WORK.
Place this in your remotes then right click in the channel u will see a window that popups up that says "Nick/Ip" enter a nick and their ip will show or enter the ip and the nick will show that the ip belongs to.
NOTE:THIS HAS BEEN TESTED ON UNREAL IRCD
alias scanip {
if ( $1 == $null ) { echo -a 3* Scanip syntax: /scanip <IP/nick> | halt }
if (*.*.*.* !iswm $1) { echo -a 3* Retreiving IP address for $1 $+ ... | set %nick.ip $1 | scan.nick | return }
echo -a 3 * Scanning # for ( $+ $1 $+ )...
set -u20 %scanning.for $1
set -u20 %scan.active $true
set -u20 %chan $chan($active)
set -u20 %st $nick( %chan ,0)
set -u20 %sp 1
.userhost $nick( %chan , %sp )
}
alias scan.nick {
set -u20 %scan.nick $true
userhost %nick.ip
}
raw 302:*:{
if (%scan.active) || (%scan.nick) {
set -u20 %nickhost $2
scan.for.match
}
}
alias scan.for.match {
tokenize 64 %nickhost
set -u20 %curr.nick $1
set -u20 %toknickhost $2
tokenize 61 %curr.nick
set -u20 %current.nick $1
.dns %toknickhost
}
on 1:DNS:{
if (%scan.active) {
if ( $dns(1).ip == %scanning.for ) {
echo -a 3* %current.nick Matches $dns(1).ip
unset %scan.active
halt
}
inc %sp
if ( %sp < %st ) { userhost $nick( %chan , %sp ) }
}
if (%scan.nick) {
if (!$dns(1).ip) { echo -a 3* %nick.ip has userhost %toknickhost | unset %scan.nick | halt }
echo -a 3* %nick.ip has resolved to $dns(1).ip
unset %scan.nick
halt
}
}
menu channel {
Ip Scanner:scanip $$?="Nick/Ip"
}