在Telegram中使用微信

利用Docker来实现在Telegram中使用微信。

安装Docker

… …

通过Docker安装EFB

我们使用 @royx 提供的 EFB 镜像来安装,也非常容易:

1
$ sudo docker pull royx/docker-efb

至此,其实服务器端的配置已经完成了,基于 Docker 的安装就是这么简单 😂

下面来配置一下 Telegram,让可爱的小机器人来愉快的工作。

配置 Telegram Bot 机器人

EFB 目前实现的 Telegram 与 微信 互通的原理是这样的:

Telegram bot > EFB > 微信网页版 > 微信
所以我们先来配置 Telegram bot:

在 Telegram 里搜索 @botfather 并和他对话
@botfather 说话,输入 /newbot
给你的机器人 bot 起个名字
继续给机器人起用户名,和上面的名字可以相同,但必须以 bot 结尾
获得机器人 Token,下图红色部分,一会要用到

注意以上机器人信息不要泄漏给别人。

设置 bot 隐私权限
bot 可能会接收不了非 “/” 开头的消息,所以需要设置一下,让 bot 接收全部内容:

继续与 @botfather 对话,输入 /setprivacy,选择刚刚创建的机器人,点击 Disable

获得 Telegram ID

再和另外一个机器人 @get_id_bot 对话,点击 start 即可获得你的 Telegram ID,一串数字(Chat ID)。

至此,Telegram 的配置完成,我们得到两个重要的数字:token、Telegram ID

配置 EFB

这里是最简单的一份配置文件,你可以从这里获得 官方提供的配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
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"
}
}

将以上内容保存为 config.py 文件,注意把上面 token以及 admins 冒号后面的部分替换成刚刚获得的 token 和 Chat ID。

即:下面的部分:

1
2
“token”: “12345678:QWFPGJLUYarstdheioZXCVBKM“,
“admins”: [13456782],

注意 xxx 部分可以自己申请,也可以参考官方提供的内容。

再新建一个 tgdata.db 文件:

1
$ touch tgdata.db

至此,EFB 的配置完成,我们得到两个文件: config.py、tgdata.db,在这里我们举例将这两个文件保存在 /root/efb/config.py 和 /root/efb/tgdata.db 这两个位置。

通过 Docker 运行 EFB

只需要一句:

1
2
3
4
docker run -d --restart=always --name=ehforwarderbot \
-v $(pwd)/config.py:/opt/ehForwarderBot/config.py \
-v $(pwd)/tgdata.db:/opt/ehForwarderBot/plugins/eh_telegram_master/tgdata.db \
royx/docker-efb

又要注意了,这里面需要把 $(pwd) 改成刚刚创建的两个文件路径,随便你保存在哪里,上面的例子就是 /root/efb/,所以完整的一个例子:

1
$ sudo 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

所有安装、配置、运行已完成。

登录微信

现在,我们只需要登录微信,就可以了:

1
$ sudo docker logs ehforwarderbot

在屏幕上,你会看到一个二维码,用微信扫描,登录,大功告成。

简单的使用 EFB

你可以完全通过机器人与微信互通,但对于联系人较多的微信用户来说意义不大,所以,我们将微信联系人绑定到一一对应的 Telegram 群组中,就完美解决了一对一聊天的问题。

首先在 Telegram 中创建一个新的群组,比如 xxxx.WeChat 这个名字,然后将你的机器人邀请进来(此处,手机端的 Telegram 无法直接拉机器人进来,你需要随便拉一个真人,再拉机器人进来,再把那个人踢出去;电脑端则可以在创建群组的时候直接拉机器人进来)

继续和你的机器人聊天,对他说:

/link Your_Wechatbot
EFB 会自动帮你搜索微信联系人,并显示搜索结果,点击你需要的联系人名:

再点击 Link,此时 Telegram 会弹出联系人选单,选择刚刚创建的群组,即完成了微信联系人与 Telegram 群组的绑定。

现在已经可以愉快的和机器人聊天啦,你还可以把群组的头像改成微信联系人的头像,感觉…就跟微信换了一个客户端一样。