1. 首页
  2. 教程

EH Forwarder Bot 使用:用 Telegram 收发微信 (Docker 实现)

主体内容来自小众软件:EFB 简明安装教程:用 Telegram 收发微信 [基于 Docker]

简介

EH Forwarder Bot 使用:用 Telegram 收发微信 (Docker 实现)

搭建过程

配置准备:Telegram Bot 机器人信息

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

Telegram bot > EFB > 微信网页版 > 微信

  • 所以我们先来配置 Telegram bot:
    1. 在 Telegram 里搜索 @botfather 并和他对话
    2. 对 @botfather 说话,输入 /newbot
    3. 给你的机器人 bot 起个名字
    4. 继续给机器人起用户名,和上面的名字可以相同,但必须以 bot 结尾
    5. 获得机器人 Token,下图红色部分,一会要用到

EH Forwarder Bot 使用:用 Telegram 收发微信 (Docker 实现)

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

  • 设置 bot 权限及其他配置
    bot 可能会接收不了非 “/” 开头的消息,所以需要设置一下,让 bot 接收全部内容:
    /setprivacy 到 @BotFather,选择刚刚创建的机器人,然后选择 “Disable”
    /setjoingroups 到 @BotFather,选择刚刚创建的机器人,然后选择 “Enable”
    /setcommands 到 @BotFather,选择刚刚创建好的 Bot 用户名,然后发送如下内容:
link - 将会话绑定到 Telegram 群组
chat - 生成会话头
recog - 回复语音消息以进行识别
extra - 获取更多功能
  • 获得 Telegram ID
    再和另外一个机器人 @get_id_bot 对话,点击 start 即可获得你的 Telegram ID,一串数字(Chat ID)。下面这些机器人也可以获取这个ID。
@get_id_bot 发送 /start
@XYMbot 发送 /whois
@mokubot 发送 /whoami
@GroupButler_Bot 发送 /id
@jackbot 发送 /me
@userinfobot 发送任意文字
@orzdigbot 发送 /user
  • 至此,Telegram 的配置完成,我们得到两个重要的数字:token、Telegram ID

配置准备:EFB 配置文件准备

  • 这里是最简单的一份配置文件,你可以从这里获得 官方提供的配置文件:
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。即:下面这部分:
“token”: “12345678:QWFPGJLUYarstdheioZXCVBKM“,
“admins”: [13456782],

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

  • 再新建一个 tgdata.db 文件:
touch tgdata.db
  • 至此,EFB 的配置完成,我们得到两个文件: config.py、tgdata.db,在这里我们举例将这两个文件保存在 /root/efb/config.py 和 /root/efb/tgdata.db 这两个位置(实际可以自行指定,记住就好)。

Docker安装

  • 推荐使用 daocloud 的镜像安装,个人使用的系统是 Debian 8 64位版本。
curl -sSL https://get.daocloud.io/docker | sh

Docker安装不上?请百度,这里不会解释如何安装排错。实在搞不定的话,放弃用 docker 吧。

  • EFB镜像下载
docker pull royx/docker-efb

通过 Docker 运行 EFB

  • 语法说明:
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/,则执行:
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
  • 在屏幕上,你会看到一个二维码,用微信扫描,登录,大功告成。

收发信息

  • 发:直接在机器人里面回复对应消息即可实现发送
  • 收:收信息默认在机器人里,可以通过 /link 命令,将指定信息绑到特定群组里面。

其他参考文档:

    1. “在Telegram上实现微信收发”——EHForwarderBot搭建指南
    2. 搞定了最新版本 EFB2.0.0, telegram 收发微信,工作正常。

已知BUG

  • 掉线问题,3天左右就会出现。
  • Docker 中途登陆的微信被顶掉后(其他客户端连接了微信),会不停的发登录确认消息给 telegram bot,直到在微信手机 app 上确认后,消息才会停止。
  • 不支持红包、支付、朋友圈、转账、语音通话、视频聊天等网页版不支持的消息类型。

原创文章,作者:Leonn,如若转载,请注明出处:https://liyuans.com/2018/05/ehforwarderbot.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

在线咨询:点击这里给我发消息

邮件:liyuan.leon@gmail.com

时间:工作日9:30 - 18:30