用IRC接收QQ消息:Weechat-webqq的应用

linux下使下用qq可是一个麻烦事,wineqq不稳定且麻烦,webqq也麻烦,虚拟机qq占资源。不过可以试试使用IRC来接收webqq的消息,这样就可以一直保持在线状态,对于使用IRC的人来说,也是蛮方便的。
下面在是在weechat下面使用该办法,至于其它的客户端就不敢保证了。

首先要安装perl(许多发行版已经是默认安装了)

1.安装cpanm包管理工具

$sudo cpan -i App::cpanminus

2.使用cpanm在线安装 Mojo::Webqq 模块

$sudo cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq

安装IO::Socket::SSL失改的解决方案

Redhat

$sudo yum install -y openssl-devel

Ubuntu

$sudo apt-get install libssl-dev

解决了失败的问题,再回到上步重新安装Mojo::webqq的模块即可

3.安装IRC依赖模块

$sudo cpanm -v Mojo::IRC::Server::Chinese

4.加载并运行代码

#!/usr/bin/env perl 
use Mojo::Webqq; 
my $qq = 12345678; #修改为你自己的实际QQ号码 
my $client = Mojo::Webqq->new(qq=>$qq);
$client->load("ShowMsg");  #添加显示信息的插件 
$client->load("IRCShell",data=> {
        listen=>[ {host=>"127.0.0.1",port=>6667} ],#weechat的本地服务器
        load_friend=>1,  #会生成“我的好友”的组群,里面有所有qq好友
    }); #加载IRCShell插件 
$client->run();

保存文件名为webqq.pl

然后运行:

$perl webqq.pl

提示扫描存在/tmp中的二维码,扫描之
打开weechat,加入服务器

/service add webqq 127.0.0.1/6667
/connect webqq

就可以连入本地服务器,加入组群了。

4.添加自动显示二维码插件

首先在webqq.pl中添加:

$client->load("ShowQRcode");    #添加显示二维码插件

但是这个插件只技持windows和mac,就是不支持linux,不过没有关系,直接看看插件的代码.

$sudo vim /usr/local/share/perl/***(版本号)/Mojo/Webqq/Plugin/ShowQRcode.pm

查看代码发现,linux下面是空的,没有写任何东西,而windows和mac下面却写了,依葫芦画瓢,在linux下面添加如下代码:

elsif($^O=~/^linux/i) # Linux
{
    $command = "eog $qrcode_path";
    eval(system($command));
    $client->error($@) if $@; 
} 

其中eog是看图程序(gnome下较好的看图程序,ubuntu自带的),可以换成其它的程序,如gthumb。

保存的时候发现这些代码是只可读的,要强行保存。

5.几点说明

  • #我的好友    所有qq好友都会在该组群里面
  • 组群名以/list列出来的为准,并不是说所有组群名都能完全正确显示。
  • 图片问题目前还未解决,虽然提供了接口,似乎用不了。
  • 帐号密码的登陆方式存在问题,不可用了好像。

6.重要参考链接:

  1. https://github.com/sjdy521/Mojo-Webqq/blob/master/IRC.md

  2. https://metacpan.org/pod/distribution/Mojo-Webqq/doc/Webqq.pod#Mojo::Webqq::Plugin::IRCShell

此条目发表在LINUX分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。