背景:比特币说好的segwit2x分叉最后却分叉不成,现在算力又不够,因而比特现金想篡位? 没一个星期就涨了快10倍,错过这趟快车甚是后悔,因而打算写一个可不按期推送最新消息的微信公众号。既然是利用微信这个平台载体,固然要熟悉微信的api,遂封装了一下。javascript
固然你也能够不看wechat-koa2的代码,直接使用下面的demo,不用百行代码即可轻松实现定制的币圈最新消息推送,后期会推出自动爬取全球各大交易所的最新消息,任何币种上线第一时间通知到位java
先放出wechat-koa2 API,后续有时间再根据库币提供的api做封装node
插播一个广告: 库币是由一群数字资产爱好者建立而成的一个专一区块链资产的交易平台,创始团队主要来自蚂蚁金服、广发证券等互联网和金融公司,致力于打造世界级的区块链资产交易平台。(跟NEO发放GAS同样,按期天天会根据用户持有的KCS发放鼓励金) 邀请注册连接 -> https://www.kucoin.com/#/?r=E...python
const config = require('./config') const Koa = require('koa') const app = new Koa() const Router = require('koa-router') const router = new Router() const Wechat = require('wechat-koa2') const w = new Wechat(config) // 封装事后的koa-bodyparser app.use(w.bodyParser()) // 微信服务器校验 router.get('/', async(ctx) => { w.serverVerify(ctx) }) // 监听用户发送过来的消息 router.post('/', async (ctx) => { await w.listening(ctx) } // 具体业务在可全写在这里,注册监听(具体看后文介绍) // .... // .... app.use(router.routes()).use(router.allowedMethods()) console.log('START: ', `wechat server is listening at ${config.port} ...`) app.listen(config.port)
这里使用的是sosobtc的接口,固然你也可使用其余接口,如 zb.com、库币 等git
const config = require('./config') const Koa = require('koa') const app = new Koa() const Router = require('koa-router') const router = new Router() const Wechat = require('wechat-koa2') const w = new Wechat(config) // 封装事后的koa-bodyparser app.use(w.bodyParser()) // 微信服务器校验 router.get('/', async(ctx) => { w.serverVerify(ctx) }) // 监听用户发送过来的消息 router.post('/', async (ctx) => { await w.listening(ctx) } // 具体业务 具体业务 具体业务 w.onText(data => { const text = data.Content.toLowerCase() const coinURL = `http://sosobtc.in/api/vi/analysis/coinAllWeb?coin=${text}` w.get(coinURL).then(result => { result = result[0] const coin = result.coin const webSiteCn = result.webSiteCn || result.webSite const change24H = result.change24H const close = result.close const high = result.high const low = result.low if(coin.toLowerCase() === 'btc') { w.replyText(result_2 => { toUser: result_2.FromUserName, fromUser: result_2.ToUserName, content: `当前查询币种: BTC (${webSiteCn}) 最新价格: ${close} 24H涨幅: ${change24H}% 最高价格: ${high} USD 最低价格: ${low} USD 来源: <a href="http://sosobtc.in/soso/kline_list?coin=btc">点击这里</a> ` }) } else { w.replyText(result_2 => { toUser: result_2.FromUserName, fromUser: result_2.ToUserName, content: `当前查询币种: ${coin.toLowerCase()} (${webSiteCn}) 最新价格: ${close} 24H涨幅: ${change24H}% 最高价格: ${high} BTC 最低价格: ${low} BTC 来源: <a href="http://sosobtc.in/soso/kline_list?coin=${coin.toLowerCase()}">点击这里</a> ` }) } }) }) app.use(router.routes()).use(router.allowedMethods()) console.log('START: ', `wechat server is listening at ${config.port} ...`) app.listen(config.port)
PS: 本人原混于各类币圈,bts 2块3时入手靠信仰一直持到如今(哭...)。目前正在学习区块链(nodejs/python/go),若你也有兴趣,欢迎一块儿交流探讨github