-
Notifications
You must be signed in to change notification settings - Fork 52
Home
WeChatBotEngine 是一个基于微信网页版 HTTP 协议的机器人引擎,引擎自身处理了与微信服务器端的通信,并增加了 Bot 的接口 -- 只要开发自己的 Bot,然后挂到引擎上就能扩展引擎的能力。
目前只在 linux 下运行。其他环境未测试…
WeChatBotEngine 最低需要 JRE 1.7/7.0 的版本。
运行不带第三方 Bot 的 WeChatBotEngine 时需要下载下面的类库(将下载下来的压缩文件其中的 .jar 文件放到 lib
目录下):
-
- apache commons configuration2 要下载 2.x 版本的
- apache commons io
- apache commons lang3 要下载 3.x 版本的
- apache commons codec
apache commons pool2apache commons dbcp2- apache Tomcat jdbc 数据源类库已不再使用 commons-pool 和 commons-dbcp,现已改用 tomcat 自带的 tomcat-jdbc.jar 和 tomcat-juli.jar (tomcat-jdbc.jar 依赖于 tomcat-juli.jar),所以你需要下载 Tomcat 的绿色版(.zip 或 .tar.gz),并从中解压出这两个 .jar 文件。
- apache commons logging
- apache commons beanutils
-
mysql jdbc driver
建议用 5.1.41 以及更高版本,因为从这个版本开始,jdbc 驱动支持 utf8mb4 编码刚开始的发行说明里写了下面的话,但现在的发行说明了已经去掉了。Functionality Added or Changed
- Connector/J now supports the utf8mb4 Unicode character set collations implemented in MySQL Server. See Unicode Character Sets for details.
如果运行带有第三方 Bot 的 WeChatBotEngine,还需要下载第三方 Bot 依赖的类库,依赖具体哪些类库要问第三方 Bot 的作者。
WeChatBotEngine 自身依赖几个外部工具来完成一些复杂的工作,其中包括
-
ImageMagick
这是用来把登录二维码图片转换成黑白色、10% 大小的 png 格式的图片,以便在终端中用文字显示该二维码。
依赖强度:灰常强,但也可以不要。当不要 ImageMagick 时,就需要你用其他看图工具打开下载下来的图片二维码。
-
ffmpeg
这是用在百度语音(语音转文字)机器人 和 讯飞云机器人中的,用途是把下载下来的音频文件、视频文件转换成百度语音、讯飞云所需要的格式(目前 WeChatBotEngine 选择了 amr 和 wav (PCM) 格式)。
依赖强度:一般,只要你不加载百度语音机器人、讯飞云机器人或其他依赖此外部工具的 Bot,就可以不用安装 ffmpeg。
注意:像是 RedHat 家族的 linux,用 rpmfusion 库的 ffmpeg 是不行的(至少目前不行,不支持 amr 格式,已经提了 bug#4367)。你可以使用 http://johnvansickle.com/ffmpeg 提供的静态编译的版本,这个是支持 amr 格式的。
目前,简易通讯录机器人依赖于 MySQL / MariaDB 数据库服务器,因此如果你用到了简易通讯录机器人,则需要安装 MySQL 数据库,并用 address-book.mysql.sql
脚本来创建表。
由于目前还不具备在群消息中用户自己添加、修改通讯录的功能,所以,需要你自己用方法把通讯录导入到数据库中,还得注意:把表中“微信群昵称”列的数值设置为哪个群的昵称(假设微信群的昵称改了,也要相应的在数据库中更新,要不然匹配不到)。
公司通讯录/域通讯录机器人需要用到活动目录作为域通讯录的后台数据存储端,在 Windows 下你可以直接安装活动目录,在 Linux 下可以用 Samba 4.x 来代替活动目录。
如果是第一次运行,则需要把 src/config.dist.properties
复制为 src/config.properties
,然后用文本编辑器打开 src/config.properties
,做一下配置。配置项的说明已在配置文件中说的比较详细了,这里就不赘述。
新版本的 gnome-terminal 支持“宽度有歧义的字符”设置(菜单:编辑--配置文件首选项--兼容性--宽度有歧义的字符),将其设置为“宽”。只有这样设置,二维码才能显示正常。
测试中,发现使用新宋体
能较好的显示二维码用到的全角方块字符。
cd WeChatBotEngine所在的目录
./run.sh