官网地址:https://github.com/phoenixlzx/telegram-stickerimage-bot
这个玩意是干嘛的就不多说了,懂的人自然懂>_<

一、阅读手册

根据Readme说明,需要环境为:

  • Node.js版本 8.0.0以上
  • 支持webp格式的ImageMagick

Requirements

  • Node.js v8.0.0^
  • ImageMagick with webp support (Check with identify -list format | grep -i 'webp' on *nix systems)

关于Node.js的安装网上有很多内容,这里就不提及了,那么首先执行括号里面的代码检验一下:

identify -list format | grep -i 'webp'

identify 是系统安装过ImageMagick后提供的一个命令,上面的命令用于查看你所安装的ImageMagick是否支持webp格式。而webp格式是TG表情图片的格式,这个bot的原理就是使用ImageMagick进行图片转换,然后将结果通过Chat发送到客户端。

  • 如果执行后提示找不到这个命令,说明你需要安装ImageMagick,并且需要设置 --with-webp 参数;
  • 如果执行后没有输出任何内容,说明你安装的ImageMagick不支持webp格式,需要重新安装;
  • 如果执行后输出: WEBP* rw+ WebP Image Format (libwebp 0.3.0 [0201]) 等类似信息,请直接阅读第三步。

二、安装ImageMagick

官方手册:https://imagemagick.org/script/install-source.php

这里说明一下通过源码编译安装:

wget https://imagemagick.org/download/ImageMagick.tar.gz
tar -xvzf ImageMagick.tar.gz
# 这里的版本号可能会和文章有出入,请根据各自情况操作
cd ImageMagick-7.0.9-3
# 这里一定要加上--with-webp参数
./configure --with-webp
make && make install

这一步最重要的就是--with-webp参数,但这里还有很重要的一点就是,在你设置这个参数后,webp支持有可能并没有启用,请查看你的控制台输出信息这一部分(示例为节选):

Delegate library configuration:
......
  RAW               --with-raw=yes              no
  RSVG              --with-rsvg=no              no
  TIFF              --with-tiff=yes             no
  WEBP              --with-webp=yes             no
  WMF               --with-wmf=yes              no
  X11               --with-x=                   yes
  XML               --with-xml=yes              yes
  ZLIB              --with-zlib=yes             yes
  ZSTD              --with-zstd=yes             no
......

注意第4行,WEBP一项,参数虽然设定了yes,但是后面的启用状态却是no,这个问题需要你的系统安装对webp的支持后可以解决,所以你需要安装如下两个包:

yum install libwebp-devel libwebp-tools

安装成功后,重新执行

./configure --with-webp

这时你会发现输出信息中

  WEBP              --with-webp=yes             yes

WEBP格式支持被启用了,然后接下来就可以make && make install了。

三、安装Bot

最后,按照官方说明的内容操作即可:

  1. git clone
  2. Get a bot token from @BotFather
  3. Copy config.js.example to config.js and edit as your needs
  4. npm install && npm start

然后你就可以和你的Bot对话来获取表情图啦

附录

参考阅读

Bot官网:https://github.com/phoenixlzx/telegram-stickerimage-bot
ImageMagick:https://imagemagick.org/script/install-source.php
转换图片中途崩溃解决:https://github.com/phoenixlzx/telegram-stickerimage-bot/issues/13
ImageMagick使用介绍:https://www.jianshu.com/p/b14c89b57493