本文来自用户 @Jack Chen 的投稿!
写在前面
最近自学Python接触的Telegram Bot编程,重新将之前一年多以前没搞懂的ehForwarderBot(简称:EFB)拿出来研究,自从学会富强接触上Telegram后无法自拔,作为一个及时通信平台,它可能不是最安全的,但绝对是在我所使用过的IM里面用户体验最棒的,Emmm,QQ,WeChat就不多说了,除了及时通讯外,增加的功能都是那啥。。。。。。但不能摆脱,一直想有一个平台将QQ,微信消息集中起来,装那么多APP烦,而EFB实现了这个功能之一。
目前网上基本的教程是基于EFB2.0以前的,反正我谷歌出来的几页都是一年前的,由于EFB2.0后安装方式大幅度简化了,原有的安装方式也大不相同。
由于使用的网页版微信,所以仅支持微信网页版所支持的功能以及消息类型,下面我们来看看效果图:
前期准备
- 一台海外VPS,为毛,Telegram都被墙了,无法访问Telegram你怎么玩
- Ubuntu 16.04 我常用的Linux Server系统
- 一个你自己的Telegram Bot
获取Telegram相关信息
- 创建Telegram Bot
- 首先找到BotFather,这是它的链接BotFather
- 然后向BotFather发送指令
/newbot
,返回信息后输入Bot名字 - 接下来继续向BotFather发送Bot的用户名,切记: 取名规则最后面必须包含
bot/Bot
- 完成后会提供一个API,这个后面需要用到
- 个性化设置Bot
- 设置头像向BotFather发送
/setuserpic
,选择刚刚创建的Bot,然后向BotFather发送一张图片就行了 - 设置介绍(Description),打开来聊天窗口看到的信息向BotFather发送
/setdescription
,选择刚刚创建的Bot,然后向BotFather发送Description - 设置介绍(About),用户在打开你Bot连接看到的介绍向BotFather发送
/setabouttext
,选择刚刚创建的Bot,然后向BotFather发送Description
- 设置头像向BotFather发送
- 获取Telegram账号ID打开这个连接并添加:get_id_bot,点击
start
,会返回格式如下的信息
123Hello *****Your Chat ID = *****User Name = *****
其中Chat ID就是我们需要的
部署ehForwarderBot
- 安装Python3
有些服务商提供的Ubuntu16.04同时安装了Python 2/3俩个版本,emmm,不用理会,直接跟我走
123sudo add-apt-repository ppa:jonathonf/python-3.6sudo apt-get updatesudo apt-get install python3.6切换Python3.*版本
123update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2update-alternatives --config python3在切换Python版本后安装EFB可能会报这个错误
No module named "apt_pkg"
,如果没报跳过这步,但建议执行下12cd /usr/lib/python3/dist-packages/sudo cp apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.cpython-36m-x86_64-linux-gnu.so - 安装EFB全套工具需要的依赖
1234sudo apt-get install python3.6-gdbm python3-pipsudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-devsudo apt-get install git libmagic-dev ffmpeg gcc make autoconf automake libtool python-setuptools python-pip git screenpip3 install pillow
编译安装libwebp
1234git clone https://github.com/webmproject/libwebp.git./configuremakemake install - 安装EFB-ETM-EWS
123pip3 install ehforwarderbotpip3 install efb-telegram-masterpip3 install efb-wechat-slave
配置ehForwarderBot接入WeChat的相关信息
- 创建配置信息存放目录
12mkdir -p ~/.ehforwarderbot/profiles/defaultmkdir -p ~/.ehforwarderbot/profiles/default/blueset.telegram
- 写入配置信息
1vim ~/.ehforwarderbot/profiles/default/config.yaml1234567token: "12345678:1a2b3c4d5e6g7h8i9j"admins:- 102938475master_channel: "blueset.telegram"slave_channels:- "blueset.wechat"
配置信息说明:
- token:这个是你创建的Telegram Bot的API
- admins:这个是你Telegram账号ID
1vim ~/.ehforwarderbot/profiles/default/blueset.telegram/config.yaml12345678910111213141516171819202122token: "12345678:1a2b3c4d5e6g7h8i9j"admins:- 102938475# API tokens required for speech recognitionspeech_api:# Microsoft (Bing) speech recognition token# API key can be obtained from# https://azure.microsoft.com/en-us/try/cognitive-services/bing: "VOICE_RECOGNITION_TOKEN"# Baidu speech recognition token# API key can be obtained from# http://yuyin.baidu.com/baidu:app_id: 123456api_key: "API_KEY_GOES_HERE"secret_key: "SECRET_KEY_GOES_HERE"flags:option_one: 10option_two: falseoption_three: "foobar"配置信息说明:
- token,admins同理
- speech_api:这个是语音功能,按需是否开启,不开启把
speech_api
删除
启动ehForwardBot
EFB提供俩种方式启动:
1 |
ehforwarderbot |
1 |
python3 -m ehforwarderbot |
然后打开你的Bot输入/start
,就能开始接收消息了,BTW,微信的所有消息包括群组公众号信息都会发到这个Bot上,这必然会出现杂乱(如果你微信很活跃的话),怎么解决这个办法看官方文档:efb-telegram-master,由于我的微信不怎么活跃这个解决办法你们自己去搞定吧。
参考文档
您好,请问我想要配置多个从端的微信应该怎么设置呢?
请问这是V2版的么??
确实技术流,不懂
昨晚上自己没搞好,今天就有文章了。笑哭.jpg
作者有些地方还是没写详细,我补充几点:
1. 编译安装 libwebp 这一步先 cd 进 `libwebp` 的目录执行一下 `./autogen.sh` 再执行上面的三个命令。
2. 写第二个配置文件时如非必要,就不要把 speech-api 那些复制进去了,否则会报错。
另外这个是不支持telegram到微信的图片么,为啥我发时总是报错。。。