ehForwarderBot wechat slave

使用EFB实现Telegram收发微信

即时聊天工具确实太多了,比如qq,微信,what’s app,telegram等等.而且有些app确实太过于臃肿,比如微信,对于我来说,只是为了接收几个人的消息而已,对于其所谓的生态没有半毛钱兴趣.因此ehForwarderBot诞生了.它可以调用其他即时通讯的api,在一个app上(本文用telegram)集中管理所有消息.PS:这样子就能在一个手机上双开微信(但是telegram上的微信只能聊天,并不能做别的事情)…本文主要介绍如何使用telegram来接发微信消息,关于其他的app自己有兴趣的可以找官方文档尝试一下,不同的点主要在于slave channel的变更.

前置条件

  • 微信账号必须能登录网页版(本质是调用网页版微信的api接口,所以才能达到所谓的多端口登录)
  • 一台vps,国内的或者海外的都可以,建议最好还是用海外的
  • vps上的python的使用版本必须大于等于3.6
    • 说实话EFB 2.x的安装比几年前的1.x的安装要简单太多了,也比之前1.x的要稳定,但是假如你用的python版本是小于等于3.6的话,各种惊喜在后面等你
    • 报错出现类似于empty channel之类的话,请检查一下你安装efb时使用的python版本
    • 由于很多linux系统的python版本是都是默认的3.5(linux系统的很多脚本是直接用python写的),即使你升级也无济于事,所以这里建议vps的系统最好使用windows的,因为windows的python版本安装就是傻瓜式操作,升级会把之前的老版本给直接覆盖了,没有版本管理这一说(对于没有经验的人来说,这是最快的解决方式.但是这也依旧抹除不了windows是个垃圾这个不争的事实)
    • Screen Shot 2019-01-05 at 16.08.15
    • 对于Ubuntu 16.04.6 LTS 安装Python 3.6的话,可参照install-python3.6-on-ubuntu-16.04-LTS

安装步骤

安装ehForwarderbot

  1. 假如系统版本的python不是3.6及以上的,请自行stackoverflow或者去相关系统的论坛上查找解决方案,自己花了几个小时,到最后也不知道是怎么被自己切换到python3.6
  2. 以下操作都是基于你已经安装了python3.6的前提下进行的
  3. 安装efb的依赖

    1
    2
    3
    sudo apt install ffmpeg
    sudo apt install python3-pip
    pip3 install libmagic pillow
  4. 安装efb

    1
    pip3 install ehforwarderbot
  5. 在根目录下新建一个.ehforwarderbot的文件夹,并且更改所有用户的权限

    1
    2
    mkdir ~/.ehforwarderbot
    chmod -R 777 .ehforwarderbot
  6. 接着再新建一个存储数据的文件夹storage,并更改其权限

    1
    2
    mkdir -p .ehforwarderbot/storage
    chmod 777 .ehforwarderbot/storage
  7. 安装master channel: Telegram

    1
    pip3 install efb-telegram-master
  8. 安装wechat slave channel: Telegram

    1
    pip3 install efb-wechat-slave

创建Bot

在Telegram中通过BotFather创建一个新的bot,用来专门接收来自于微信的消息

1
2
3
4
5
6
7
8
9
10
1. /start
2. /newbot # 会生成一个**token**
3. /setprivacy # 设置为'Disable'接收所有来自群的消息
4. /setjoingroups # 'Enable'可以将该机器人添加到其他telegram群中
5. /setcommands 添加以下命令及描述:
link - 将会话绑定到 Telegram 群组
chat - 生成会话头
recog - 回复语音消息以进行识别
extra - 获取更多功能
6. @get_id_bot 获得**bot ID**

配置文件

  1. 创建并且配置Telegram master相关文件

    1
    2
    3
    cd .ehforwarderbot
    mkdir -p profiles/default/blueset.telegram
    vi profiles/default/blueset.telegram/config.yaml

    在上述文件中写入以下内容(以下的token就是在telegram中获取的token以及botId)

    1
    2
    3
    4
    5
    6
    token: "6***262:AA***nUWU"
    admins:
    - 20***7
    master_channel: "blueset.telegram"
    slave_channels:
    - "blueset.wechat"

    修改保存完成之后

    1
    cp profiles/default/blueset.telegram/config.yaml profiles/default
  2. 创建并且配置wechat slave channel相关文件

    1
    2
    mkdir -p profiles/blueset.wechat
    vi profiles/blueset.wechat/config.yaml

    在上述文件中写入以下内容

    1
    2
    3
    4
    flags:  
    option_one: 10
    option_two: false
    option_three: "foobar"
  3. 启动EFB

    1
    screen python3 -m ehforwarderbot
  4. Enjoy yourself
    如有问题,欢迎调戏