之前看到有大佬发了个用 EFB 实现 TG 收发微信消息,但是因为大佬用的 Ubuntu 来操作的,我也不太熟悉,然而用 CentOS 的话,还需要装 Python3,对我这种懒人来说,也是麻烦。
后来突然发现 EFB 可以用 Docker 来实现,那我就可以在 CentOS 下装个 Docker 了,何必麻烦来装 Python3 呢。。
嘿嘿,接下来就是如何操作了。
准备工作
- 准备一台 VPS。我这里使用的是 CentOS7,VPS 位于美国。因为 TG 国内不能访问。
- 需要 SSH,自然要工具。至于用什么,你习惯用什么就用什么咯。
获取 TG 的 Token
- 在 Telegram 里搜索 @botfather 并和他对话
- 对 @botfather 说话,输入
/newbot
- 给你的机器人 bot 取个名字
- 继续给机器人取个用户名,和上面的名字可以相同,但必须以 bot 结尾
- 获得机器人 Token,这个 Token 是用来访问 HTTP API 的,所以务必保密。
- 对你的机器人进行配置:允许 Bot 读取非指令信息、允许将 Bot 添加进群组、以及提供指令列表。
- 发送
/setprivacy
到 @BotFather,选择刚刚创建好的 Bot 用户名,然后选择 “Disable”. - 发送
/setjoingroups
到 @BotFather,选择刚刚创建好的 Bot 用户名,然后选择 “Enable”. - 发送
/setcommands
到 @BotFather,选择刚刚创建好的 Bot 用户名,然后发送如下内容:
link - 将会话绑定到 Telegram 群组
chat - 生成会话头
recog - 回复语音消息以进行识别
extra - 获取更多功能
获取 TG 的 ID
获取ID有很多种方法。
最简单的方法就是发送指令/start
给 @get_id_bot 来获取。
配置服务器
以上就是获取机器人的配置参数,现在我们要开始在服务器上安装 Docker ,然后进行配置。
首先运行下面的命令安装 Docker:
#安装依赖包
[root@centos ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
#下载docker yum源
[root@centos ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#更新软件缓存
[root@centos ~]# yum makecache fast
#安装Docker CE
[root@centos ~]# yum install docker-ce -y
#启动docker
[root@centos ~]# systemctl start docker.service
#查看docker版本信息
[root@centos ~]# docker info
然后我们进行配置:
#新建 EFB 目录
[root@centos ~]# mkdir efb
[root@centos ~]# cd efb
新建一个 tgdata.db 文件:
[root@centos ~]# touch tgdata.db
新建一个 config.py 文件,并把下面的配置复制进去:
[root@centos ~]# vi config.py
#官方的 config.py 配置
#请把 token 改成你的机器人的 token
#请把 admins 改成你的 ID
master_channel = 'plugins.eh_telegram_master', 'TelegramChannel'
slave_channels = [('plugins.eh_wechat_slave', 'WeChatChannel')]
eh_telegram_master = {
"token": "12345678:QWFPGJLUYarstdheioZXCVBKM",
"admins": [13456782],
"bing_speech_api": ["xxx", "xxx"],
"baidu_speech_api": {
"app_id": 0,
"api_key": "xxx",
"secret_key": "xxx"
}
}
至此,配置完成,我们来让Docker运行吧。
docker run -d --restart=always --name=ehforwarderbot -v /root/efb/config.py:/opt/ehForwarderBot/config.py -v /root/efb/tgdata.db:/opt/ehForwarderBot/plugins/eh_telegram_master/tgdata.db royx/docker-efb
启动微信
运行下面的命令,然后微信扫描出现的二维码,登录即可
docker logs ehforwarderbot
使用 TG 管理微信的聊天内容
- 可以使用
/link 用户名
命令来绑定联系人至 TG 群,这样可以分类聊天会话,看上去比较清晰直观,而不是全部的消息都在机器人的对话里。
emm,博主,配置文件里面那些xxx要不要替换
我按你这样打完命令后提示配置文件错误
需要替换成你自己的。