Felicity

EH Forwarder Bot 2 简明安装指北

0.爱在搬运前

最近疯狂迷恋上了Telegram,于是就发现了EFB这个神奇,但是网上的指南似乎都不太小白向,于是就有了阿福的不靠谱指北。

简而言之, EH Forwarder Bot 就是一个消息框架,基于此我们可以实现微信与电报的互通,进而让离不开微信的我们不安装微信成为可能(呵呵,做梦!)。在向微信模块作者致敬的同时,我们需要首先关注官方文档的以下内容:

自 2016 年中旬以来,陆续有用户报告其微信网页版登录被腾讯封禁。 表现为用任何方式登录微信网页版提示「当前登录环境异常。为了你的账号安全, 暂时不能登录 Web 微信。你可以通过手机客户端或 Windows 微信登录」 或类似的提示。大部分用户会在封禁后三个月内解封,不同用户的解封耗时不同。 该封禁不影响其他客户端的登录。目前封禁的原因尚不明确。

划个重点先:

  • 保持手机客户端长期在线是EFB稳定使用的前提,所以无法避免安装手机客户端
  • EFB 仅支持微信网页版所支持的功能以及消息类型,即没有朋友圈、红包、发送语音、语音或视频通话、位置共享等等诸如此类的功能。
  • 偶尔会出现掉线问题。
  • 几乎必然会出现限制Web微信登录的问题

如果了解了上述内容你亦然希望尝试EFB的话,那请做好后果自负的觉悟一起来看本期指北。

1.前置条件

本指北主要参照官方文档及网上教程仅在UBUNTU  16.04 版本上调试通过。

1.1 工作原理

通过EFB实现电报与微信互通的信息路径如下:

Telegram bot <-> EFB  <-> 微信网页版  <->微信客户端

你需要所以有TG bot(繁琐),架设EFB(简单),微信网页版登录权限(最难)

1.2 申请TG bot

  1. 在 Telegram 里搜索 @botfather 并和他输入/newbot
  2. 给你的机器人 bot 起个昵称
  3. 给机器人起用户名,可以和上面的名字相同,但必须以 bot 结尾
  4. 获得得机器人 Token,记好备用
申请TG机器人

1.3 设置TG bot

  1. 发送/setprivacy 到 @BotFather,选择刚刚创建的机器人,然后选择 “Disable”
  2. 发送/setjoingroups 到 @BotFather,选择刚刚创建的机器人,然后选择 “Enable”
  3. 发送/setcommands 到 @BotFather,选择刚刚创建好的 Bot 用户名,然后发送如下内容

help - 显示命令清单.
link - 连接对话到TG群组.
unlink_all - 解除群组中所有对话的连接.
info - 显示当前对话的详细信息.
chat - 创建对话.
recog - 回复语音消息以进行识别.
extra - 获取更多功能.
update_info - 更新组群名字及头像.

1.4 获取管理员TG ID

@get_id_bot 进行对话,获取你自己的TG ID,并记下备用。

此时你应该有两个信息,一个是bot Token(一串字符),一个是TG ID(一串数字),准备完成。

2.安装EFB 2

2.1 安装依赖包

sudo apt update

sudo apt install python3 python3-pip python3-pil python3-numpy python3-yaml python3-requests ffmpeg libmagic-dev libwebp-dev vim screen

2.2 安装EFB2 本体及模块

sudo pip3 install ehforwarderbot

sudo pip3 install efb-telegram-master

sudo pip3 install efb-wechat-slave

3.配置EFB 2

3.1 本体配置

创建配置文件目录先

mkdir -p /etc/ehforwarderbot/profiles/default/

创建配置文件vi /etc/ehforwarderbot/profiles/default/config.yaml 并写入以下内容

master_channel: blueset.telegram
slave_channels:
- blueset.wechat 

3.2 模块配置

创建配置文件目录先

mkdir -p /etc/ehforwarderbot/profiles/default/blueset.telegram

创建配置文件vi /etc/ehforwarderbot/profiles/default/blueset.telegram/config.yaml并写入以下内容

token: "这里上面获取的写token"
admins:
- 123456789
# - 后面的数字替换为上面获得TG ID

4.使用EFB 2

使用下面的命令运行EFB

ehforwarderbot

然后调整终端窗口大写,手机扫码登录即可。

扫码有个小技巧,如果显示的二维码手机不识别,用鼠标全选二维码即可。

没有异常的话可以CTRL + c 键结束进程啦。

5.配置 systemd 自启动

创建配置文件vi /etc/systemd/system/ehforwarderbot.service 并写入以下内容

[Unit]
Description=EH Forwarder Bot instance
After=network.target
Wants=network.target
Documentation=https://github.com/blueset/ehForwarderBot

[Service]
Type=simple
Environment='EFB_PROFILE=default' 'LANG=zh_CN.UTF-8' 'PYTHONIOENCODING=utf_8' 'EFB_DATA_PATH=/etc/ehforwarderbot'
ExecStart=/root/.local/bin/ehforwarderbot --verbose --profile=${EFB_PROFILE}
Restart=on-abort
KillSignal=SIGINT
StandardOutput=journal+file:/var/log/efb.debug
StardardError=journal+file:/var/log/efb.error

[Install]
WantedBy=multi-user.target
Alias=efb
Alias=ehforwarderbot

以下命令创建自启动服务并运行

service enable ehforwarderbot

service restart ehforwarderbot

完毕。

评论