关于搭建EFB服务将微信与TG消息互通的简要教程

注:本文使用了comwechat服务作为从端,使用API为微信桌面端,如有使用需求请自行斟酌

要求:

1.一台在国外的VPS,最好架构为X86,ARM也许存在Bug

推荐系统发行版本为Ubuntu20 下文也会以此系统作为例子

服务器要求ROM不小于2G,且最好再开启2G的swap内存

具有一个固定公网iPv4地址

2.一台最好系统为Windows的电脑(需要使用VNC服务,依据个人能力判断)

3.一部拥有微信的手机或能进行微信扫码的设备

4.两个Telegram账号,要求互为好友且至少有一个能正常登陆

5.一个正常的大脑,一双正常的眼睛,一个善于举一反三的思维

6.在提出问题之前请仔细、反复地再阅读一遍说明

1.前期准备

第一步——创建机器人Token:

首先在手机Telegram或桌面端Telegram应用程序中进行如下操作

1.对@BotFather或点击 这条链接 来对BotFather进行私聊

发送指令

/newbot

然后依据提示进行机器人的用户名、昵称等配置(机器人用户名必须以bot结尾)

在创建完毕之后,你将获取到一串Bot的API Token,将之保存在一处地方,并不要将他泄露给其他人,因为通过Token 任何人都可以控制你的Bot

然后进行两项基础配置,继续向BotFather发送下列命令

/setprivacy
#选择 “Disable”
/setjoingroups
#选择 “Enable”

接着进行最后一项配置,发送

/setcommands


然后发送如下内容

link - 将会话绑定到 Telegram 群组
chat - 生成会话头
recog - 回复语音消息以进行识别
update_info - 更新群组名与头像
extra - 获取更多功能

第二步——获取用户ID:

与@get_id_bot私聊或点击 这条链接 来对get id bot进行私聊

接着发送

/start

获取用户ID,将之保存到一处地方

2.环境配置

0.服务器初始化

sudo apt update

1.安装Docker

curl -fsSL https://get.docker.com | bash

2.安装Docker-compose

apt -y install docker-compose

3.创建配置文件docker-compose.yaml

cd ~
touch docker-compose.yaml

使用nano编辑该文件

nano docker-compose.yaml

输入以下内容(大部分SSH客户端可以使用右键粘贴)

version: '3.3'
services:
    wechatpchook:
        container_name: comwechat
        environment:
            - VNCPASS=YourPassword
            - COMWECHAT=https://github.com/ljc545w/ComWeChatRobot/releases/download/3.7.0.30-0.1.0-pre/3.7.0.30-0.1.0-pre.zip
        volumes:
            - "/root/WeChat/Files/:/home/user/.wine/drive_c/users/user/My Documents/WeChat Files/"
            - "/root/WeChat/Data/:/home/user/.wine/drive_c/users/user/Application Data/"
        privileged: true
        network_mode: host
        image: tomsnow1999/docker-com_wechat_robot:latest

将其中 “- VNCPASS=YourPassword” 中 YourPassword 改为一个你自己喜欢的密码并记住

使用 Ctrl + X 退出编辑 并不要修改文件名 若提示Y/N 请输入Y 修改文件名界面回车即可退出

使用cat命令检查内容(后文所有编辑的文件均建议检查,但我不再赘述,nano编辑器的用法同样不再赘述)

cat docker-compose.yaml

4.启动Docker镜像

docker-compose up -d

等待下载完成即可,中途不要关闭SSH窗口,耐心等待即可

3.VNC登录微信

1.在网络上下载并安装VNC Viewer(安装软件方法我拒绝解释)

2.在上方“Enter a VNC Server address or search” 处 填入

#你的服务器公网ip:5905
#例如
123.123.1.2:5905
#注意「:」是英文字符 不要使用中文字符的「:」

点击连接到此地址,此时你将会看到一个微信登录二维码,使用手机扫码登录

注意,将此二维码截图后用手机微信的相册内扫码是不行的,必须使用摄像头扫码

4.安装、创建必要文件及依赖

apt-get install libopus0 ffmpeg libmagic1 python3-pip git libssl-dev
pip3 install -U git+https://github.com/ehForwarderBot/efb-telegram-master.git
pip3 install -U git+https://github.com/0honus0/python-comwechatrobot-http.git
pip3 install -U git+https://github.com/0honus0/efb-wechat-comwechat-slave.git
pip3 install lottie
pip3 install cairosvg

#请一行一行依次执行 而不要全部一次输入

然后进行配置文件的创建,此处可以一次性全部输入,但记得将最后一行发送出去

mkdir -p ~/.ehforwarderbot/profiles/ComWeChat
mkdir -p ~/.ehforwarderbot/profiles/ComWeChat/blueset.telegram
mkdir -p ~/.ehforwarderbot/profiles/ComWeChat/honus.comwechat
touch ~/.ehforwarderbot/profiles/ComWeChat/config.yaml
touch ~/.ehforwarderbot/profiles/ComWeChat/blueset.telegram/config.yaml
touch ~/.ehforwarderbot/profiles/ComWeChat/honus.comwechat/config.yaml

完成后,你的文件结构应该如下所示

~/.ehforwarderbot/profiles/ComWeChat/
├── blueset.telegram
│   ├── config.yaml
├── config.yaml
└── honus.comwechat
    └── config.yaml

使用cat命令进行确认,或自认为没有问题之后,进入主端的配置

5.主从端配置

nano ~/.ehforwarderbot/profiles/ComWeChat/blueset.telegram/config.yaml

#在其中写入

token: "写机器人token"
admins:
- 写管理员telegram用户ID

#将token和用户ID替换掉上文中的说明文字
#例如

token: "ABC123QWE:123ADW123AWD"
admins:
- 1234567654321
nano ~/.ehforwarderbot/profiles/ComWeChat/config.yaml

#在其中写入

master_channel: blueset.telegram
slave_channels:
- honus.comwechat
nano ~/.ehforwarderbot/profiles/ComWeChat/honus.comwechat/config.yaml

#在其中写入

dir: "/root/WeChat/Files/"

6.启动EFB

screen -S wechat
#使用screen功能保证关闭SSH连接后 服务仍在运行
#在弹出的新终端窗口中输入
ehforwarderbot -p ComWeChat

后记

由于VPS一般位于海外,所以第一次登录后几天内被登出是正常的,因为IP地址不受信任

微信掉线或重启服务器后再次开启服务的方法

首先请重启你的服务器,排除意外因素

(如果不愿意重启,请自行关闭之前打开的screen会话和docker镜像)

然后执行

docker-compose up -d

此时再次打开VNC Viewer再次扫码登录或点击登录

接着执行

screen -S wechat
#在弹出的新终端窗口中输入
ehforwarderbot -p ComWeChat

若无报错即可继续正常使用

关于机器人用法

在此不进行详细说明,仅做简单解释

假如你不做任何工作,所有信息都将从机器人私聊中发送到你的Telegram

为了解决这个问题,我们需要使用准备阶段准备的两个Telegram账号新建群组,将另一个账号踢出群组,将机器人添加至群组

然后在群组内使用

/link

接着回到机器人的私聊,选择你要绑定的对话,则该对话将被绑定至指定的群组

建议使用

/update_info

来更新头像及名称

此时你在此群组说话,将自动以你登录的微信为发言人在微信发送相同消息,接收到的消息则由机器人发送(其他使用相关不再赘述,自行查阅其他教程或说明文档等)

至此,教程完毕,若有问题请再三阅读教程提问

评论

  1. 置顶
    Windows Chrome
    1 年前
    2023-2-20 0:08:58

    若有问题请仔细阅读后提问,本人知识水平有限,不保证能解决每个人的问题,也不一定有时间解决,请尽量提问一些有价值的问题

  2. Sylvanas
    Android Chrome
    8 月前
    2023-8-30 23:04:53

    大佬,怎么样在一台机子上运行多个efb

  3. QQcc11
    Windows Chrome
    1 年前
    2023-2-21 19:12:41

    Korea的vps,成功登录,消息收发也正常,唯一疑惑的是:vnc显示疑似风险登录,wechat给我强制踢下线了,这是常态还是仅仅前期会这样啊?

    • QQcc11
      Windows Chrome
      1 年前
      2023-2-22 6:08:18

      海外VPS第一次使用由于IP问题一定会因为IP风控强制下线一次,我个人第一次坚持了2天就被下线,然后至今没有再被下线过,ComWechat服务属于真正意义上的使用一个桌面端微信,因此风控概率很小

      • QQcc11
        ChocoFleece
        Windows Chrome
        1 年前
        2023-2-22 10:26:19

        谢谢回答

  4. moi
    Windows Edge
    1 年前
    2023-2-21 0:25:45

    想问下docker-compose文件中可不可以加代理地址?

    • moi
      Windows Chrome
      1 年前
      2023-2-22 6:06:59

      不清楚,详情查阅docker-compose相关说明

  5. gg
    Windows Chrome
    1 年前
    2023-2-20 13:47:00

    详细教程,小白用户表示很赞!!

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇