利用 EFB 使 Telegram 收发微信消息

利用 EFB 使 Telegram 收发微信消息

十二月 08, 2021

简介

EH Forwarder Bot(EFB)

是一个可扩展的开源聊天平台隧道 Bot 框架,允许用户一次发送和接收来自多个平台的消息,目前支持在 Telegram 上收发微信、QQ、Facebook Message 信息,支持文字、语音、图片、视频、表情互通,虽有一些功能限制但可用性良好

微信网页版

微信会对使用第三方客户端登录微信网页版的用户实行封禁,账号较老的用户封禁率似乎不高。
采用了最新的UOS协议,对于不支持微信网页版的账号也可以使用。

GitHub

ehForwarderBotefb-telegram-masteefb-wechat-slave

准备工作

  1. 能够科学上网
  2. Ubuntu 18.04 以上的系统( 本人用的是 Windows Linux 子系统 Ubuntu 20.04 LTS )
  3. Telegram 软件( 手机端或电脑端都可以 )

注:手机端可以使用 Termux 安装


开始

一、 获取 Bot Token

  1. 在 Telegram 里,对 @botfather 输入: /newbot
  2. 输入 Bot 名称
  3. 输入 Bot 用户名,注意用户名必须以 Bot 结尾
  4. 保存获取到的 token

二、 配置 Bot

  1. 在 Telegram 里,对 @botfather 输入: /setprivacy 选择 Disable ( 允许 Bot 读取非指令信息 )
  2. 在 Telegram 里,对 @botfather 输入: /setjoingroups, 选择 Enable ( 允许将 Bot 添加进群组 )
  3. 在 Telegram 里,对 @botfather 输入: /setcommands, 输入下列内容 ( 允许 Bot 提供指令列表 )
BASH
1
2
3
4
5
6
7
8
help - 显示命令列表.
link - 将远程会话绑定到 Telegram 群组
chat - 生成会话头
recog - 回复语音消息以进行识别
info - 显示当前 Telegram 聊天的信息.
unlink_all - 将所有远程会话从 Telegram 群组解绑.
update_info - 更新群组名称和头像
extra - 获取更多功能

三、 获取 Telegram 账户 ID

在 Telegram 里,对 @get_id_bot 点击 start 即可获得你的 Telegram ID

四、 安装依赖

BASH
1
2
3
sudo su
apt update
apt install libwebp-dev libmagic-dev git screen nano -y

五、 安装 Python3.6(或更高版本)

BASH
1
apt install python3-pip python3-setuptools python3-dev -y

六、 安装 FFmpeg

BASH
1
2
3
4
5
6
7
8
#下载ffmpeg二进制
wget https://www.moerats.com/usr/down/ffmpeg/ffmpeg-git-$(getconf LONG_BIT)bit-static.tar.xz
#解压文件
tar xvf ffmpeg-git-*-static.tar.xz
#移动ffmpeg可执行文件
mv ffmpeg-git-*/ffmpeg ffmpeg-git-*/ffprobe /usr/bin/
#删除文件
rm -rf ffmpeg-git-*

七、 安装 EFB

BASH
1
2
3
4
5
6
# 框架
pip3 install ehforwarderbot
# Telegram 模块
pip3 install efb-telegram-master
# WeChat 模块
pip3 install efb-wechat-slave

八、 配置文件

  1. EFB 配置

    BASH
    1
    2
    mkdir -p ~/.ehforwarderbot/profiles/default
    nano ~/.ehforwarderbot/profiles/default/config.yaml

    粘贴下列内容,ctrl+x 保存退出

    YAML
    1
    2
    3
    master_channel: blueset.telegram
    slave_channels:
    - blueset.wechat
  2. Telegram 模块配置

    BASH
    1
    2
    mkdir ~/.ehforwarderbot/profiles/default/blueset.telegram
    nano ~/.ehforwarderbot/profiles/default/blueset.telegram/config.yaml

    粘贴下列内容,ctrl+x 保存退出

    YAML
    1
    2
    3
    4
    5
    6
    7
    8
    token: "你的token" 
    admins:
    - 你的userid
    flags:
    # 将所有图像消息作为文件发送,以防止主动报文的图像压缩
    send_image_as_file: false
    # 图片/视频/文件消息没有标题时的占位符文本
    default_media_prompt: text

九、 设置代理

  1. 在 cmd 输入 ipconfig 查看本机 IP 地址

  2. 在 Ubuntu 输入 ifconfig 查看 IP 地址,没有 ifconfig 命令则输入 sudo apt-get install net-tools 命令安装

  3. 可以知道本机跟子系统同一域的是 192.168.31.84

  4. 在 Ubuntu 输入 vi /etc/environment,粘贴下列代码

    YAML
    1
    2
    3
    4
    5
    6
    7
    8
    # 代理配置
    # 本人使用的是 Clash 默认端口号为 7980
    export http_proxy=http://192.168.31.84:7890;
    export https_proxy=http://192.168.31.84:7890;
    export ftp_proxy=http://192.168.31.84:7890;

    # 跳过代理
    no_proxy="127.0.0.1, localhost, qq, weixin, login.weixin.qq.com, wx2.qq.com, *.qq.*, *.weixin.*"
  5. 输入 source /etc/environment 使代理生效

十、 启动

BASH
1
ehforwarderbot

此时会给一个微信二维码或者二维码链接给你,放到浏览器打开扫描登录即可。

十一、 使用

  1. 在 Telegram 里新建群组,把你创建的 Bot 添加进去,把 Bot 设置为管理员
  2. 对 Bot 输入 /link 选择你要绑定的好友或群,再绑定你刚创建的群组
  3. 好友或群里发的信息,就会发送到你创建的群组
  4. 不绑定的话,微信所有的消息都会发送到 Bot 里

十二、 更新

BASH
1
2
3
pip3 install --upgrade ehforwarderbot
pip3 install --upgrade efb-telegram-master
pip3 install --upgrade efb-wechat-slave

十三、 后台

BASH
1
2
cd /etc/systemd/system/
nano efb.service

粘贴下列内容,ctrl+x 保存退出

BASH
1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=ehforwarderbot
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
Type=simple
WorkingDirectory=/root
ExecStart=/usr/local/bin/ehforwarderbot
Restart=always

输入代码启动 efb 开机自启 efb

BASH
1
2
3
4
5
6
7
8
9
#重新加载进程守护
systemctl daemon-reload
#进程守护 启动efb
systemctl start efb.service
#打印日志 此时不会直接显示二维码,而需要你打开http的链接,进行扫码登录
journalctl -f -u efb.service
#进程守护 开机自启efb
systemctl enable efb.service

查看状态

BASH
1
2
3
4
5
6
7
8
#进程守护 停止efb
systemctl stop efb.service
#进程守护 关闭开机自启efb
systemctl disable efb.service
#查看当前 efb 状态
systemctl status efb.service
#实时查看 efb 守护日志
journalctl -f -u efb.service
作者: 棕果核
标题: 利用 EFB 使 Telegram 收发微信消息
声明: 本文采用 CC BY 4.0 进行声明

-   END   -