https://blog.1a23.com/2017/01/09/EFB-How-to-Send-and-Receive-Messages-from-WeChat-on-Telegram-zh-CN/

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

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

0x00: 说明
本文档基于 EFB v1.2 build 20170111 版本制作而成。较新的版本可能会有不同的安装步骤。敬请注意。
本教程面向具有一定背景知识的进阶用户,如有疑问,请您先在互联网上搜索(推荐 Google),若仍未解决、欢迎在 EFB Telegram 支持群组留言。
0x01: 用料
在开始之前,请准备:

电脑 一台
推荐 Linux、OS X、macOS 操作系统
部分手机亦可使用,但操作会略微繁琐。
Telegram 账号 一枚
Windows 用户需要 SSH 客户端 一枚,常用 PuTTY
墙外 VPS 一枚
没有 VPS 的可以尝试一下 Vultr 日本,速度还不错,顺带可以搭梯子。新用户赠送 $20 链接
(才不是要假装菜谱呢)

0x02: 构建环境
这里我们使用 Ubuntu 16.04 作为例子。CentOS、Arch 等其他发行版除去包管理器指令之外操作基本相同。(因为实在是不想再加钱开一个 VPS,所以下面的指令运行在同等版本的 Docker Image 上)

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

0x021: 安装 Python 与非 Python 依赖
输入以下指令。

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

sudo apt-get install python3.5 libopus0 ffmpeg libmagic1 python3-pip git nano
(怎么感觉包名这么奇怪呢,算了,大概这样吧,差也差不了太多。 ¯\_(ツ)_/¯)

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

git clone https://github.com/blueset/ehForwarderBot.git
cd ehForwarderBot
pip3 install -r requirements.txt
0x03: 配置 EFB
接下来就是进行各种必要的配置和初始化的步骤了。

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

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

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

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

link - 将会话绑定到 Telegram 群组
chat - 生成会话头
recog - 回复语音消息以进行识别
extra - 获取更多功能
然后还需要获取你自己的 Telegram ID,ID 应显示为一串数字。获取你自己的 ID 有很多方式,你可以选择任意一种。下面介绍两种可能的方式。

Plus Messenger
如果你使用了 Plus Messenger 作为你的 Telegram 客户端,你可以直接打开你自己的资料页,在「自己」下面会显示你的 ID。
通过 Bot 查询
很多现存的 Bot 也提供了 ID 查询服务,直接向其发送特定的指令即可获得自己的数字 ID。在这里介绍一些接触过的。
@get_id_bot 发送 /start
@XYMbot 发送 /whois
@mokubot 发送 /whoami
@GroupButler_Bot 发送 /id
@jackbot 发送 /me
@userinfobot 发送任意文字
@orzdigbot 发送 /user
留存你的 Telegram ID 以便后续使用。

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

mkdir storage
chmod 777 storage
然后复制并编辑配置文件。

cp config.sample.py config.py
editor config.py
在配置文件中,token 后引号里面的内容替换为你之前获得的 Bot 密钥,admins 后方括号里面填入你自己的 Telegram 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_telegram_master', 'TelegramChannel'
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 individual plugin for details
#
eh_telegram_master = {
"token": "12345678:QWFPGJLUYarstdheioZXCVBKM",
"admins": [123456789]
}
0x04: 启动 EFB
到目前为止,EFB 的配置工作已经完成。现在我们只需要启动它,登陆微信就大功告成了。大多数时候,启动微信需要扫描屏幕上的二维码进行授权。这时需要你的 SSH 客户端字体缩小到适当的大小以完整显示整个二维码。

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

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

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

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

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

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

注意
虽然 Telegram 群组中的所有人可以看到会话全文,但是只有配置文件 (config.py) 中指定的管理员 (admins) 能够以你的名义发送消息到微信。EFB 支持设置多个管理员,但只有第一个管理员(按照输入排序)能够接收到所有消息,而且这有可能造成不必要的隐私问题,敬请注意。

以上就是 EFB Telegram 主端的基础用法。关于其他的功能(语音转文字、微信附加功能等)请参见文档 的「ETM」章节。

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

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

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

Q: 有些表情收不到
由于微信网页版的限制,部分受版权保护的表情包不能显示出来,故亦不能转发到 Telegram。

详细安装过程
pip3 install libmagic python-magic xmltodict pillow
cd /var/lib/docker/overlay2/7a57e662142a6bf0c1074997b91b60db72aea609073893fa9e71c2a6bfbd5655/diff/opt/ehForwarderBot

转载于:https://www.cnblogs.com/michael-sara/p/10993076.html

telegram接入微信相关推荐

  1. 手把手教你简单接入微信SDK

    就看微信现在这么火的样子,如果你的APP不接入微信的SDK好像就有点脱离了时代大车轮一样.一个成功的APP,不单单凭借着一个好的想法,一个好的功能,最主要还是用户量.用户量就好像是水,我们的APP就一 ...

  2. Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发

    接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...

  3. Payment Spring Boot 1.0.2.RELEASE 发布,接入微信支付分、先享卡功能

    Payment Spring Boot 是微信支付V3的Java实现,仅仅依赖Spring内置的一些类库.配置简单方便,可以让开发者快速为Spring Boot应用接入微信支付. 演示例子:https ...

  4. 详解如何进行第三方App接入微信登录

    微信登录接入 微信登录遵循协议Aouth2.0中的授权码模式 我们来看一下Aouth2.0中的授权码模式是怎么定义的: 授权码模式(authorization code)是功能最完整.流程最严密的授权 ...

  5. android第三方应用,Android 第三方应用接入微信平台研究情况分享(一)

    微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台,毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方面的开销,我最近由于实习需要也在研究这个东西,不过发 ...

  6. ASP.NET Core Web 支付功能接入 微信-扫码支付篇

    // 随着版本更迭,新版本可能无法完全适用,请参考仓库内的示例. 这篇文章将介绍ASP.NET Core中使用 开源项目 Payment(https://github.com/Essensoft/Pa ...

  7. 适合新手学习的laravel接入微信接口,实现微信公众号二次开发

    2019独角兽企业重金招聘Python工程师标准>>> 最近使用laravel做微信公众号二次开发,发现网上能够参考的资料基本上很少,很多地方都讲的不够详细,致使许多新手采坑无数,所 ...

  8. 开放外链后,阿里旗下多个App已接入微信支付:更方便了

    移动支付工具与我们生活是密不可分的.近日,据相关媒体报道,继淘宝App8月接入银联云闪付以来,目前已覆盖全量用户.同时,阿里旗下饿了么.优酷.大麦.考拉海购.书旗等应用均已接入微信支付.此外,目前淘特 ...

  9. 微信公众号自动回复html,[.NET] 简单接入微信公众号开发:实现自动回复

    简单接入微信公众号开发:实现自动回复 一.前提 先申请微信公众号的授权,找到或配置几个关键的信息(开发者ID.开发者密码.IP白名单.令牌和消息加解密密钥等). 二.基本配置信息解读 开发者ID:固定 ...

  10. 接入微信分享过程的喜和泪

    背景故事: 4月份从公司回到学校.要開始着手做大四的毕业设计.然而毕设的当中一个功能模块便是--心情分享模块,在记录心情的同一时候能够把心情分享到朋友圈.空间.微博等.因此,便開始了微信分享的学习之旅 ...

最新文章

  1. mybatis中的resultMap与resultType、parameterMap与 parameterType的区别
  2. SQL 基础之索引、闪回、临时表(十八)
  3. Linux服务器网卡驱动安装及故障排除(转)
  4. postgresql立式版本下载_PostgreSQL 12.0 正式版本发布
  5. 关于网络编程的一些问题
  6. c语言中10转8和16的转换,(C语言)10进制转换2,8,16进制
  7. 不懂这37个数据中心术语,怎么混数据圈饭局!
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的驾照在线考试系统
  9. 封装微信分享到朋友/朋友圈js
  10. Java 枚举(enum)剖析
  11. 感受野,以及为什么神经网络可以分清猫是猫,狗是狗的直观理解
  12. 警惕!这5种“脸色”在暗示你这些健康问题!
  13. vc++键盘钩子和鼠标钩子
  14. qt5 开发及实例(第4版)_张厚粲现代心理与教育统计学第4版配套章节题库
  15. 用matlab模拟等离子体论文,等离子体模型的建立
  16. css 全文字体大小,CSS 字体大小
  17. 可验证随机函数VRF
  18. 遇到的问题1:print时报错 can only concatenate str (not tuple) to str
  19. 我为什么花 1 万多买 MacBook Pro,重点是推荐我常用的开发写作相关的工具
  20. Linux 磁盘分区(MBR和GPT,loop详细分区方法介绍)

热门文章

  1. 端口映射公网IP访问内网服务器
  2. NFS PRC端口映射器
  3. extremecomponents 配置
  4. 数据结构1800题-错题集-第六章
  5. fastboot usb 驱动相关
  6. 产业变革新机遇,与5G同行,驰骋在浪潮之巅
  7. 虚拟税务ukey托管服务器,税务Ukey托管来啦,给它一个家!企业开票更方便
  8. html设置一个搜索引擎,零基础打造一款属于自己的网页搜索引擎
  9. python 豆瓣评论分析方法_基于Python的豆瓣影评分析——数据预处理
  10. 金蝶K3 Wise单据导入导出工具使用说明