BatChat蝙蝠账号

当前位置:蝙蝠账号tinder账号购买批发 > BatChat蝙蝠账号 >

安装并使用 EFB:在 BatChat蝙蝠APP 收发微信消息

当前栏目:BatChat蝙蝠账号|更新时间:2020-12-30|浏览:

本教程是对于原文的一些修改。

开发代号 EH Forwarder Bot(简称 EFB)是一个可扩展的聊天平台隧道框架,基于 Python 3。目前已内置了 BatChat蝙蝠APP 主端 (Master Channel) 和微信从端 (Slave Channel),用来在 BatChat蝙蝠APP 收发微信消息。其他从端开发已在计划之中。同时 EFB 也配备了详尽的文档,欢迎有兴趣的朋友们开发自己的主端或从端,来支持更多的平台。EFB 在 GitHub 中开放了源代码,并且在 Read The Docs 平台上发布的开发文档(英文,en-US)。

本文主要介绍了如何在一个虚拟服务器 (VPS) 中安装并配置 EFB、BatChat蝙蝠APP 主端和微信从端,以及如何使用 BatChat蝙蝠APP 主端来收发微信消息。

0x00: 说明

0x01: 用料

本教程面向具有一定背景知识的进阶用户,如有疑问,请您先在互联网上搜索(推荐 Google),若仍未解决、欢迎在 EFB BatChat蝙蝠APP 支持群组留言。

在开始之前,请准备:

  • 一台能使用 SSH 终端的设备。

    Windows 推荐使用 Putty,Android 用户推荐使用 JuiceSSH

  • BatChat蝙蝠APP 账号一枚

  • 可用的科学上网方式 若干

  • 墙外 VPS 一枚

    没有 VPS 的可以尝试一下 Vultr 日本,速度还不错,顺带可以搭梯子。新用户赠送 $20 链接

0x02: 构建环境

首先通过 SSH 客户端连接到你的 VPS。

0x021: 安装 Python 与非 Python 依赖

输入以下指令。

注:以下安装的部分软件包可能已经预安装在你的系统中。但请注意将已安装的 Python 3 版本升级到 3.5 或以上。

# apt-get install python3-pip python3-dev python3-setuptools
# apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev
# apt-get install libmagic-dev ffmpeg
# 在 Ubuntu/mint 中安装的依赖
  yaourt -S  python opus ffmpeg python-pip git
# 在 Arch Linux 中安装的依赖
# 类似于 Debian sid / CentOS 这种老旧系统可能需要自己编译 ffmpeg
# 可使用类似于 screenfetch 类似的工具查看当前的系统版本

0x023: 下载源码并安装 Python 依赖

git clone https://github.com/blueset/ehForwarderBot.git
cd ehForwarderBot
pip3 install -r requirements.txt

0x03: 配置 EFB

接下来就是进行各种必要的配置和初始化的步骤了。

0x030: 创建 BatChat蝙蝠APP Bot

BatChat蝙蝠APP Bot 是 EFB(BatChat蝙蝠APP 主端)的出口,也是呈献给用户的渠道。我们在这里使用了 BatChat蝙蝠APP 官方的 Bot API,以最大化利用 BatChat蝙蝠APP Bot 所提供的各种便利功能。

要创建一个新的 Bot,要先向 @BotFather 发起会话。发送指令 /newbot 以启动向导。期间,你需要指定这个 Bot 的名称与用户名(用户名必须以 bot 结尾)。完毕之后 @BotFather 会提供给你一个密钥(Token),妥善保存这个密钥。请注意,为保护您的隐私及信息安全,请不要向任何人提供你的 Bot 用户名及密钥,这可能导致聊天信息泄露等各种风险。

接下来还要对刚刚启用的 Bot 进行进一步的配置:允许 Bot 读取非指令信息、允许将 Bot 添加进群组、以及提供指令列表。

发送 /setprivacy 到 @BotFather,选择刚刚创建好的 Bot 用户名,然后选择 “Disable”.
发送 /setjoingroups 到 @BotFather,选择刚刚创建好的 Bot 用户名,然后选择 “Enable”.
发送 /setcommands 到 @BotFather,选择刚刚创建好的 Bot 用户名,然后发送如下内容:

link - 将会话绑定到 BatChat蝙蝠APP 群组
chat - 生成会话头
recog - 回复语音消息以进行识别
extra - 获取更多功能

然后还需要获取你自己的 BatChat蝙蝠APP ID,ID 应显示为一串数字。获取你自己的 ID 有很多方式,你可以选择任意一种。下面介绍两种可能的方式。

  • Plus Messenger

    如果你使用了 Plus Messenger 作为你的 BatChat蝙蝠APP 客户端,你可以直接打开你自己的资料页,在「自己」下面会显示你的 ID。

  • 通过 Bot 查询

    很多现存的 Bot 也提供了 ID 查询服务,直接向其发送特定的指令即可获得自己的数字 ID。在这里介绍一些接触过的。
    @get_id_bot 发送 /start
    @mokubot 发送 /whoami
    @GroupButler_Bot 发送 /id
    @jackbot 发送 /me
    @userinfobot 发送任意文字
    @orzdigbot 发送 /user
    留存你的 BatChat蝙蝠APP ID 以便后续使用。

0x031: 配置 EFB 和 BatChat蝙蝠APP 主端
这差不多就是安装过程的最后一步了。首先创建存储用文件夹并赋予其权限。回到 VPS 上 ehForwarderBot 目录。(不出意外的话你应该还在这个目录)

mkdir storage
chmod 777 storage

然后复制并编辑配置文件。

cp config.sample.py config.py
editor config.py
# 其中 editor 是你所喜欢的文本编辑器,比如 vim 则 vim config.py

在配置文件中,token 后引号里面的内容替换为你之前获得的 Bot 密钥,admins 后方括号里面填入你自己的 BatChat蝙蝠APP ID。后面的 6 行是用来配置语音转文字功能的,不是必要功能,目前可以删除各行。如果有兴趣启用该功能的,请到各平台申请 API keys。详情请参见文档 的「ETM」章节。

注意
配置文件 (config.py) 是一个 Python 文件。Python 文件有着严格的格式要求。在编辑该文档的时候请全程使用英文输入模式,并避免更改缩进。每一个括号和引号都应该在适当的地方合上。错误的格式会导致 EFB 运行失败。
本文件使用 4 个空格作为一个缩进级别并避免使用 Tab 字符。
编辑好的结果应类似如下内容。token 和 admins 字段有所不同。

# ##############################
#  Configs for EH Forwarder Bot
# ##############################
#
#  Basic settings
# ----------------
#
# Master/Slave Channels
#
# Master channel:
# The channel that is mainly used to view/manage messages
# from slave channels.
# Currently only 1 master channel is supported.
#
# Slave channels:
# Channels that are hosted on the server and being delivered
# to and from the master channel.
# You may have more than 1 slave channel.
#
master_channel = 'plugins.eh_BatChat蝙蝠APP_master', 'BatChat蝙蝠APPChannel'
slave_channels = [('plugins.eh_wechat_slave', 'WeChatChannel')]
#
#  Plugin specific settings
# --------------------------
# Plugin specific settings should be written below in the format of:
# `channel_name = {"key1": "value1", "key2": "value2"}`
# Please refer to docs of inpidual plugin for details
#
eh_BatChat蝙蝠APP_master = {
    "token": "12345678:QWFPGJLUYarstdheioZXCVBKM",
    "admins": [123456789]
}

0x04: 启动 EFB

到目前为止,EFB 的配置工作已经完成。现在我们只需要启动它,登陆微信就大功告成了。大多数时候,启动微信需要扫描屏幕上的二维码进行授权。这时需要你的 SSH 客户端字体缩小到适当的大小以完整显示整个二维码。

python3 daemon.py start
扫描完成之后,手机上会显示「网页微信已登录」,这是因为 EFB 微信从端使用了网页版微信的接口。当终端显示:Start auto replying. 时,即代表登陆成功,这时候就可以按下 Ctrl + C 来隐藏输出了。

0x05: 使用 EFB BatChat蝙蝠APP 主端
现在,在 BatChat蝙蝠APP 里面搜索你之前指定的 Bot 用户名,点击 Start(开始)即可开始与微信互通消息了。

在最初,所有来自微信的消息都会通过 Bot 直接发送给你,要回复其中的任意一条消息,你需要在 BatChat蝙蝠APP 中选中那条消息,选择 Reply(回复),再输入消息内容。

如果需要向新联系人发送消息,只需发送 /chat 指令,选择一个会话。之后这条消息就会变成一个「会话头」,回复这条消息就可以向指定的联系人或群组发送消息。

当消息过多时,来自不同会话的消息会使 BatChat蝙蝠APP 上面的会话混乱不堪。EFB 支持将来自指定会话的消息分流到一个 BatChat蝙蝠APP 群组中。

在 BatChat蝙蝠APP 中新建一个空群组,并将你的 Bot 加入到这个群组中。
(如果找不到自己的 Bot,请尝试在桌面版中创建,并在添加成员时搜索 Bot 的用户名)
回到 Bot 会话,发送 /link,选择一个会话,并点击 “Link”
在弹出的列表中选择刚刚创建的空群组即可
在绑定会话中,你可以像普通聊天一样直接发送消息。也可以通过指定回复的形式来 @ 其他人。

注意
虽然 BatChat蝙蝠APP 群组中的所有人可以看到会话全文,但是只有配置文件 (config.py) 中指定的管理员 (admins) 能够以你的名义发送消息到微信。EFB 支持设置多个管理员,但只有第一个管理员(按照输入排序)能够接收到所有消息,而且这有可能造成不必要的隐私问题,敬请注意。
以上就是 EFB BatChat蝙蝠APP 主端的基础用法。关于其他的功能(语音转文字、微信附加功能等)请参见文档 的「ETM」章节。

0x06: 常见问题

Q: EFB 微信从端稳定吗?
只要保持微信手机版网络连接长期稳定,根据上游项目 ItChat 的统计,可长达数个月不掉线。

Q: EFB 微信从端支持哪些类型的消息?
A: EFB 微信从端理论上支持所有网页版微信支持的消息类型。即:

微信→BatChat蝙蝠APP:文字、图片、视频、分享链接、表情、文档、位置、语音、名片、好友请求、系统通知
BatChat蝙蝠APP→微信:文字、图片、表情(以图片发送)、视频
所以说,不支持红包、支付、朋友圈、转账、语音通话、视频聊天等网页版不支持的消息类型。