Skip to content
LiuYan edited this page Feb 20, 2018 · 6 revisions

什么是 WeChatBotEngine

WeChatBotEngine 是一个基于微信网页版 HTTP 协议的机器人引擎,引擎自身处理了与微信服务器端的通信,并增加了 Bot 的接口 -- 只要开发自己的 Bot,然后挂到引擎上就能扩展引擎的能力。

如何使用 (适合打算运行 WeChatBotEngine 的人阅读)

1. 准备环境

(1) 操作系统 | Operating System

目前只在 linux 下运行。其他环境未测试…

(2) 安装 Java 运行环境 (JRE)

WeChatBotEngine 最低需要 JRE 1.7/7.0 的版本。

(3) 下载依赖的类库

运行不带第三方 Bot 的 WeChatBotEngine 时需要下载下面的类库(将下载下来的压缩文件其中的 .jar 文件放到 lib 目录下):

如果运行带有第三方 Bot 的 WeChatBotEngine,还需要下载第三方 Bot 依赖的类库,依赖具体哪些类库要问第三方 Bot 的作者。

(4) 安装外部工具、配置外部路径

WeChatBotEngine 自身依赖几个外部工具来完成一些复杂的工作,其中包括

  • ImageMagick

    这是用来把登录二维码图片转换成黑白色、10% 大小的 png 格式的图片,以便在终端中用文字显示该二维码。

    依赖强度:灰常强,但也可以不要。当不要 ImageMagick 时,就需要你用其他看图工具打开下载下来的图片二维码。

  • ffmpeg

    这是用在百度语音(语音转文字)机器人 和 讯飞云机器人中的,用途是把下载下来的音频文件、视频文件转换成百度语音、讯飞云所需要的格式(目前 WeChatBotEngine 选择了 amr 和 wav (PCM) 格式)。

    依赖强度:一般,只要你不加载百度语音机器人、讯飞云机器人或其他依赖此外部工具的 Bot,就可以不用安装 ffmpeg。

    注意:像是 RedHat 家族的 linux,用 rpmfusion 库的 ffmpeg 是不行的(至少目前不行,不支持 amr 格式,已经提了 bug#4367)。你可以使用 http://johnvansickle.com/ffmpeg 提供的静态编译的版本,这个是支持 amr 格式的。

(5) MySQL / MariaDB 数据库服务器

目前,简易通讯录机器人依赖于 MySQL / MariaDB 数据库服务器,因此如果你用到了简易通讯录机器人,则需要安装 MySQL 数据库,并用 address-book.mysql.sql 脚本来创建表。 由于目前还不具备在群消息中用户自己添加、修改通讯录的功能,所以,需要你自己用方法把通讯录导入到数据库中,还得注意:把表中“微信群昵称”列的数值设置为哪个群的昵称(假设微信群的昵称改了,也要相应的在数据库中更新,要不然匹配不到)。

(6) Samba 4.x 服务器或微软活动目录服务器

公司通讯录/域通讯录机器人需要用到活动目录作为域通讯录的后台数据存储端,在 Windows 下你可以直接安装活动目录,在 Linux 下可以用 Samba 4.x 来代替活动目录。

2. 配置

如果是第一次运行,则需要把 src/config.dist.properties 复制为 src/config.properties,然后用文本编辑器打开 src/config.properties,做一下配置。配置项的说明已在配置文件中说的比较详细了,这里就不赘述。

3. 运行

选一个合适的终端软件,建议用 gnome-terminal 终端模拟器

新版本的 gnome-terminal 支持“宽度有歧义的字符”设置(菜单:编辑--配置文件首选项--兼容性--宽度有歧义的字符),将其设置为“宽”。只有这样设置,二维码才能显示正常。

选一个合适的字体,建议用新宋体

测试中,发现使用新宋体能较好的显示二维码用到的全角方块字符。

运行

cd WeChatBotEngine所在的目录
./run.sh

如何开发自己的 Bot (适合软件开发人员阅读)