Avalon 快速食用指南

导言

本文将介绍多种快速食用Avalon的方法,请遵照文内步骤进行。

首先,本文将提供两种食用Avalon的主要方向,请依自己的应用选择:

  • 直接食用Avalon
  • 将Avalon作为依赖用于您自己的项目
  • 将您的项目作为Avalon的插件(仅限于v0.0.1b以后的RELEASE版本或46b2068afe及以后的快照版本

请直接单击左方目录中的对应标题名跳转到相应部分。

一切的初始

! 本部分为另两部分的共同先导步骤,请完成本章步骤后再进行对应的后续操作 !

安装Perl

首先,由于Avalon依赖Mojo-Webqq这个Perl裤,因此需要安装Perl。

经过我的各种研究踩坑,发现ActivePerl是最好使的Perl环境之一。请自行到ActivePerl官方网站下载。

当然你也可以选择其它Perl环境,见下表:

平台 推荐选择
Windows ActivePerl, StrawberryPerl
Linux ActivePerl, 系统自带, yum/apt等包管理器, 官方源码编译
Mac ActivePerl, 系统自带

安装cpanm

由于Mojo-Webqq钦定cpanm为包管理工具,因此我们还需要安装cpanm。

安装一共有两种方法,选择其中的任意一种即可:

方法一:通过cpan安装(推荐)

在终端中,执行下列命令:

1
$ cpan -i App::cpanminus

方法二:直接安装

在终端中,执行下列命令:

1
$ curl http://share-10066126.cos.myqcloud.com/cpanm.pl|perl - App::cpanminus

安装Mojo-Webqq及其他依赖

完成cpanm的安装后,我们就可以直接使用cpanm进行Mojo-Webqq的安装/升级了。

在终端中,执行下列命令:

1
2
$ cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq
$ cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Weixin

请在更新发布后尽快执行以上命令更新,因为某讯经常会删API导致部分功能失效,这时就只能静候作者更新了。

安装出现问题

若您未使用如ActivePerl(全平台)StrawberryPerl(Windows)已经包含Mojo-Webqq核心依赖模块的Perl环境,则有可能出现依赖缺失的问题。尝试在终端中执行:

1
2
3
4
For RedHat/Centos:
$ yum install -y openssl-devel
For Ubuntu:
$ sudo apt-get install libssl-dev

后再尝试重新安装Mojo-Webqq。

安装Java

如何安装 Java?

直接使用Avalon

! 请确保您已经完成“一切的初始”一节中的所有步骤 !

下载

鉴于您不需要对源代码进行操作,建议您直接到RELEASE页面下载最新RELEASE即可。

运行

首先使用cd命令将上一步骤中下载的文件的目录设为工作目录,然后解压下载下来的.zip文件,最后执行:

1
2
$ cd bin
$ ./Avalon

v0.0.1b及以后版本的Avalon能够自动派生Mojo-Webqq和Mojo-Weixin进程,若您使用的版本在v0.0.1b之前,请更新版本。其实是我懒得写手动执行.pl文件的步骤

特别提醒

若您使用的操作系统没有图形界面(意味着您不能直接扫二维码登录),请按以下步骤操作:

  1. 编辑Avalon所在目录\bin目录下的Mojo-Webqq.pl文件,取消# $client->load("UploadQRcode");这行的注释。

以上即是直接使用Avalon需做的所有操作。Have a good time !

将Avalon作为依赖用于您自己的项目中

! 请确保您已经完成“一切的初始”一节中的所有步骤 !

添加依赖

Avalon现使用JitPack作为包发布器,请按Ray-Eldath / Avalon中的步骤将Avalon添加至您的项目的依赖中。

2017.5.28:截止至v0.0.1b版本,带本地测试功能的正式RELEASE版本还未发布。若您想使用带本地测试功能的Avalon,请将依赖版本号改为c1f7e18e25,并将config.json中的debug改为true。若您已经用上了v0.0.1b以后版本的Avalon,请忽略本提示。

配置依赖文件

首先,您需要下载Avalon的最新RELEASE中的.zip文件。

然后将.bin目录下除AvalonAvalon.bat之外的所有文件拷贝到您的项目根目录

开始食用

Avalon从v0.0.1b起开始提供完善的MessageHook功能。您可以直接在您的项目中添加下列代码:

1
2
3
MessageHooker.register(new GroupMessageHook(HookType.ALL, (e) -> {
// do something
}

或:

1
2
3
MessageHooker.register(new FriendMessageHook((e) -> {
// do something
}));

来添加对群消息的Hook或对好友消息的Hook。

对于HookType的解释:

HookType.ALL:所有消息均会交由该Hook处理

HookType.ADMIN_ONLY:只有管理员发出的消息才会交由该Hook处理,关于如何设置管理员账户请参见配置Avalon

HookType.GENERAL_USER_ONLY:只有普通用户(非管理员)发出的消息才会交由该Hook处理

以上就是将Avalon作为依赖用于您自己的项目中所需的所有步骤。Have a good day time !

将您的项目作为Avalon的插件

仅限于v0.0.1b以后的RELEASE版本或46b2068afe及以后的快照版本

! 请确保您已经完成“一切的初始”一节中的所有步骤 !

clone代码

首先您需要clone Avalon的代码。在终端中执行:

1
git clone https://github.com/Ray-Eldath/Avalon.git

配置您的项目

Avalon会自动读取plugin目录下的合法文件并加载(目录的配置请见下节)。您首先需要将支持插件功能的Avalon加入到您的项目依赖中,然后创建一个实现接口AvalonPlugin的类,该接口中仅存在方法void main(),方法将作为您插件的主入口点。您可以再该方法中使用MessageHook完成您需要的功能。

在完成您的插件之后,请导出一个不带Avalon依赖.jar文件,放置在下文所述的plugins目录中。

配置目录

若您正在使用v0.0.1b以后的RELEASE版本,您可以直接跳过本节的内容。

在Avalon项目根目录下,新建以下目录及文件:

1
2
3
4
Avalon
└──data
└──plugin
└──plugins.json

随后,在plugins.json中输入您的插件的相关信息。格式如下:

1
2
3
4
5
6
7
8
9
10
11
12
{
"plugins": {
"您插件的名字": {
"version": "您插件的版本",
"copyright": "您插件的版权说明",
"website": "您插件的支持网站",
"class": "您插件的主入口点",
"file": "您插件.jar文件的名称",
"enable": 是否开启插件
}
}
}

例如:

1
2
3
4
5
6
7
8
9
10
11
12
{
"plugins": {
"Avalon-Game": {
"version": "v0.0.1-alpha",
"copyright": "本插件基于GPL v2.0开源。",
"website": "https://github.com/Ray-Eldath/Avalon-Game",
"class": "avalon.game.main.AvalonPlugin",
"file": "Avalon-Game_main.jar",
"enable": true
}
}
}

以上就是将您的项目作为Avalon的插件所需的所有步骤。Congratulation !

更多… …

若您还有更多问题,请向echo ZWxkYXRoLnJheUBwcm90b25tYWlsLmNvbQ== | base64 -d发邮件或直接在项目中新建issues

最后,本文部分参照Mojo-Webqq/README.md

本文系应ice1000 dalao的要求而写。

强烈欢迎您向Avalon及其相关项目贡献代码或提供任何形式的帮助。

以上就是本文的全部内容。

=。=
0%