project,

twitter2wechat

Steve Steve Follow Aug 06, 2020 · 1 min read
twitter2wechat

Powered by Wechaty Wechaty开源激励计划 node version node version

Twitter2Wechat

当前,IFTTT应用相当广泛,连接了很多日常的应用,但是微信由于各种原因,尚不能接入。 感恩Wechaty API的出现,这个Twitter2Wechat 通过监听Twitter,在探测到有新Tweet发布后,会同步到预设的微信群里。 一个实际的应用是,我们有一个实况足球的小联盟PESNALeague。如果有玩家在YouTube或Twitch上直播比赛对战的话,通过预设的IFTTT, 直播的URL会在Twitter发布。 之后,通过这个wechaty机器人,实现了在微信群的通告功能。

效果预览

Header Picture

项目说明

本项目是基于wechaty的个人开源项目,更多关于wechaty项目说明及api文档可以移步:wechaty介绍 如果你拥有了wechaty发放的Padplus token,那么也可以直接使用本项目 (PadPlus token 申请地址

程序结构

GitHub

|---index.js                   # 入口文件
|---twitter_monitor.js         # 监听Twitter的module
|---credentials.js             # 存放所有的authentication keys
|---environment_settings.json  # 设置比如Twitter polling frequency等等
|-- package.json

配置

我们提供了credentials_example.js,如下所示。请移步申请Twitter Developer API四个token填入即可运行。

```shell script module.exports = { // Twitter Devloper Account Credentials // Apply here: https://developer.twitter.com/en/docs/basics/authentication/overview consumer_key: ‘fill_in_your__consumer_keyi’, consumer_secret: ‘fill_in_your__consumer_secret’, access_token: ‘fill_in_your__access_token’, access_token_secret: ‘fill_in_your__access_token_secret’,

// Twitter ID you wanted to monitor twitter_user_id: “fill_in_your_twitter_account”,

// Wechaty and Wechat information puppet_padplus_token: ‘fill_in_your_puppet_padplus_token’, wechat_chatroom_id : ‘555456789@chatroom’, } ```

核心代码

首先,感谢Monitor Twitter的开发者,我们发展了他们的主程序,实现了对Twitter账号的监听,具体的实现请参考twitter_monitor.js文件。 核心的程序如下图,在每30秒poll一次Twitter的情况下,如果检测到有新Tweet发布,我们抓取Tweet的text(),然后同步发布到微信Wechat预设的房间内。 Core Code

运行

克隆本项目,并进入项目根目录 第一步 npm install 第二步 node index.js

服务器Heroku 部署 (推荐)

代码写完了,我们需要一个服务器24/7运行,且最好是免费的:) Wechaty的主要开发者Huan LI (李卓桓)写过一篇博客文章,且附带有Heroku+Wechaty Getting Started例程,对我们的帮助很大。 Heroku免费提供每月500小时的服务器时间,分配到每天,几乎是20小时了,基本上够用了。他们提供的Node.js Tutorial教程做,也写的非常详尽,一步步照着做完,也就学会了。 在他们的服务器上部署后,只要修改Procfile就可以带参数的运行了。

延展与将来

国内抖音如火如荼,直播带货这些将来可能都会与微信连接。这些直播的信息将来有可能可以通过微信,直接推送到客户的手机上,方便用户获取最新消息。

最后

本项目属于个人兴趣开发,开源出来是为了技术交流,请勿使用此项目做违反微信规定或者其他违法事情。 建议使用小号进行测试,有被微信封禁网页端登录权限的风险(客户端不受影响),请确保自愿使用。

致谢

感谢wechaty团队提供微信机器人SDK,让开发者可以专注于业务代码 感谢句子互动juzibot提供的iPad协议版token

Author: afterever Code: twitter2wechat

Join Newsletter
Get the latest news right in your inbox. We never spam!
Written by Steve Follow
a Web developer looking to expand IFTTT via Wechaty