注:本文使用了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
来更新头像及名称
此时你在此群组说话,将自动以你登录的微信为发言人在微信发送相同消息,接收到的消息则由机器人发送(其他使用相关不再赘述,自行查阅其他教程或说明文档等)
若有问题请仔细阅读后提问,本人知识水平有限,不保证能解决每个人的问题,也不一定有时间解决,请尽量提问一些有价值的问题
大佬,怎么样在一台机子上运行多个efb
Korea的vps,成功登录,消息收发也正常,唯一疑惑的是:vnc显示疑似风险登录,wechat给我强制踢下线了,这是常态还是仅仅前期会这样啊?
海外VPS第一次使用由于IP问题一定会因为IP风控强制下线一次,我个人第一次坚持了2天就被下线,然后至今没有再被下线过,ComWechat服务属于真正意义上的使用一个桌面端微信,因此风控概率很小
谢谢回答
想问下docker-compose文件中可不可以加代理地址?
不清楚,详情查阅docker-compose相关说明
详细教程,小白用户表示很赞!!