—package
Mojo::Webqq::Plugin::IPwhere;
our
$PRIORITY
= 1;
use
IP::IPwhere;
#use IP::QQWry; #使用纯真库注释掉本行
use
Encode;
=pod
插件使用方法给加载插件的账号发 IPwhere IP
或者QQ群里发IPwhere IP.
例子:
IPwhere 166.111.166.100
result :
taobao 166.111.166.100:中国,北京市,北京市,教育网
sina 166.111.166.100:中国,北京,北京,
baidu 166.111.166.100:北京市海淀区 教育网
pconline 166.111.166.100:北京市,北京市,,北京市 教育网
qqwry 166.111.166.100:清华大学学生宿舍14号楼
本插件需要安装模块IP::IPwhere,如果你需要纯真的信息
还要安装IP::QQWry,以及下载纯真的数据库QQWry.Dat
下载地址:
oschina同步更新,如果github太慢通过osc下载
安装库可以简单通过cpanm IP::IPwhere IP::QQWry
并把下面部分注释掉。
my $qqwry = IP::QQWry->new('QQWry.Dat');
sub gquery {
my ($ip)=shift;
my ($base,$info) = $qqwry->query($ip);
my $result;
$result="qqwry $ip:";
$result.=decode('gbk',$base);
$result.=decode('gbk',$info)."\n";
return $result;
}
=cut
my
$re
=
qr([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])
;
my
$ipre
=
qr/($re\.){3}$re$/
;
sub
call {
my
$client
=
shift
;
$client
->on(
receive_message
=>
sub
{
my
(
$client
,
$msg
)=
@_
;
return
if
not
$msg
->allow_plugin;
return
if
$msg
->content !~ /^(ipwhere|IPwhere)\s*(
$ipre
)/;
my
$arg
= $1
if
$msg
->content=~ /^(ipwhere|IPwhere)\s*(
$ipre
)/;
$reply
= Encode::encode(
"utf8"
,squery(
$arg
));
# $reply.=Encode::encode("utf8",gquery($arg)); # 如果需要解析纯真数据库,吧本行注释去掉
$msg
->reply(
$reply
,
sub
{
$_
[1]->from(
"bot"
)})
if
$reply
;
});
}
1;