介绍

发代号 EH Forwarder Bot(简称 EFB)是一个可扩展的聊天平台隧道框架,基于 Python 3。目前已内置了 Telegram 主端 (Master Channel) 和微信从端 (Slave Channel),用来在 Telegram 收发微信消息。其他从端开发已在计划之中。同时 EFB 也配备了详尽的文档,欢迎有兴趣的朋友们开发自己的主端或从端,来支持更多的平台。EFB 在 GitHub 中开放了源代码,并且在 Read The Docs 平台上发布的开发文档(英文,en-US)。

本文主要介绍了如何在一个虚拟服务器 (VPS) 中安装并配置 EFB、Telegram 主端和微信从端,以及如何使用 Telegram 主端来收发微信消息。

搭建环境

服务器系统:CentOS

安装Python3.6

1
2
3
yum install -y https://centos7.iuscommunity.org/ius-release.rpm
yum install -y python36u python36u-libs python36u-devel python36u-pip python36u-setuptools
which -a python3.6

运行完成后再shell中键入python3.6看能否进入python,如果能则进入下一步,如果显示路径错误则编辑~/bashrc文件vi ~/.bashrc在其中键入python3.6='/usr/bin/python3.6'退出vi编辑器并在shell下键入source ~/.bashrc保存更改

安装非Python依赖项

1
2
3
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install -y libwebp-devel file-devel ffmpeg

下载源码并安装

1
2
3
4
wget https://codeload.github.com/blueset/ehForwarderBot/tar.gz/v1.6.6
tar -xvf v1.6.6
cd ehForwarderBot-1.6.6
pip3.6 install -r requirements.txt

配置 EFB

接下来就是进行各种必要的配置和初始化的步骤了。

4.1 创建 Telegram Bot

Telegram Bot 是 EFB(Telegram 主端)的出口,也是呈献给用户的渠道。我们在这里使用了 Telegram 官方的 Bot API,以最大化利用 Telegram Bot 所提供的各种便利功能。

要创建一个新的 Bot,要先向 @BotFather 发起会话。发送指令 /newbot 以启动向导。期间,你需要指定这个 Bot 的名称与用户名(用户名必须以 bot 结尾)。完毕之后 @BotFather 会提供给你一个密钥(Token),妥善保存这个密钥。请注意,为保护您的隐私及信息安全,请不要向任何人提供你的 Bot 用户名及密钥,这可能导致聊天信息泄露等各种风险。

接下来还要对刚刚启用的 Bot 进行进一步的配置:允许 Bot 读取非指令信息、允许将 Bot 添加进群组、以及提供指令列表。

  • 发送 /setprivacy 到 @BotFather,选择刚刚创建好的 Bot 用户名,然后选择 “Disable”.
  • 发送 /setjoingroups 到 @BotFather,选择刚刚创建好的 Bot 用户名,然后选择 “Enable”.
  • 发送 /setcommands 到 @BotFather,选择刚刚创建好的 Bot 用户名,然后发送如下内容:
1
2
3
4
link - 将会话绑定到 Telegram 群组
chat - 生成会话头
recog - 回复语音消息以进行识别
extra - 获取更多功能

然后还需要获取你自己的 Telegram ID,ID 应显示为一串数字。获取你自己的 ID 有很多方式,你可以选择任意一种。下面介绍两种可能的方式。

  • Plus Messenger如果你使用了 Plus Messenger 作为你的 Telegram 客户端,你可以直接打开你自己的资料页,在「自己」下面会显示你的 ID。
  • 通过 Bot 查询

很多现存的 Bot 也提供了 ID 查询服务,直接向其发送特定的指令即可获得自己的数字 ID。在这里介绍一些接触过的。

1
2
3
4
5
6
@get_id_bot 发送 /start
@mokubot 发送 /whoami
@GroupButler_Bot 发送 /id
@jackbot 发送 /me
@userinfobot 发送任意文字
@orzdigbot 发送 /user

4.2 配置 EFB 和 Telegram 主端

这差不多就是安装过程的最后一步了。首先创建存储用文件夹并赋予其权限。回到 VPS 上 ehForwarderBot 目录。(不出意外的话你应该还在这个目录)

1
2
mkdir storage
chmod 777 storage

然后复制并编辑配置文件。

1
2
3
cp config.sample.py config.py
editor config.py
# 其中 editor 是你所喜欢的文本编辑器,比如 vim 则 vim config.py

在配置文件中,token 后引号里面的内容替换为你之前获得的 Bot 密钥,admins 后方括号里面填入你自己的 Telegram ID。后面的 6 行是用来配置语音转文字功能的,不是必要功能,目前可以删除各行。如果有兴趣启用该功能的,请到各平台申请 API keys。详情请参见文档 的「ETM」章节。


参考:https://www.ishare.work/在centos-7下安装并使用-efb:在-telegram-收发微信消息/