官网地址: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
最后,按照官方说明的内容操作即可:
- git clone
- Get a bot token from @BotFather
- Copy config.js.example to config.js and edit as your needs
- 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