蔚蓝触点 Azuretouch

Azuretouch
Touch your future

EFB实现用Telegram收发微信

之前看到有大佬发了个用 EFB 实现 TG 收发微信消息,但是因为大佬用的 Ubuntu 来操作的,我也不太熟悉,然而用 CentOS 的话,还需要装 Python3,对我这种懒人来说,也是麻烦。
后来突然发现 EFB 可以用 Docker 来实现,那我就可以在 CentOS 下装个 Docker 了,何必麻烦来装 Python3 呢。。

嘿嘿,接下来就是如何操作了。

准备工作

  1. 准备一台 VPS。我这里使用的是 CentOS7,VPS 位于美国。因为 TG 国内不能访问。
  2. 需要 SSH,自然要工具。至于用什么,你习惯用什么就用什么咯。

获取 TG 的 Token

  1. 在 Telegram 里搜索 @botfather 并和他对话
  2. 对 @botfather 说话,输入 /newbot
  3. 给你的机器人 bot 取个名字
  4. 继续给机器人取个用户名,和上面的名字可以相同,但必须以 bot 结尾
  5. 获得机器人 Token,这个 Token 是用来访问 HTTP API 的,所以务必保密。
  6. 对你的机器人进行配置:允许 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:

#安装依赖包
[[email protected] ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
#下载docker yum源
[[email protected] ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#更新软件缓存
[[email protected] ~]# yum makecache fast
#安装Docker CE
[[email protected] ~]# yum install docker-ce -y
#启动docker
[[email protected] ~]# systemctl start docker.service
#查看docker版本信息
[[email protected] ~]# docker info

然后我们进行配置:

#新建 EFB 目录
[[email protected] ~]# mkdir efb
[[email protected] ~]# cd efb
新建一个 tgdata.db 文件:
[[email protected] ~]# touch tgdata.db
新建一个 config.py 文件,并把下面的配置复制进去:
[[email protected] ~]# 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 管理微信的聊天内容

  1. 可以使用/link 用户名命令来绑定联系人至 TG 群,这样可以分类聊天会话,看上去比较清晰直观,而不是全部的消息都在机器人的对话里。

参考文献:

  1. CentOS 7 安装 Docker CE
  2. EFB How-to: Send and Receive Messages from WeChat on Telegram (zh-CN)")
  3. 用 Telegram 收发微信「简明教程」
  4. EFB官方Git
未经允许不得转载:蔚蓝触点 Azuretouch » EFB实现用Telegram收发微信

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. emm,博主,配置文件里面那些xxx要不要替换
    我按你这样打完命令后提示配置文件错误

    hmqs (2019-01-27) 回复
    • 需要替换成你自己的。

      mjsz (2019-01-28) 回复