专栏首页区块链技术指北Mixin Messenger Webhook 第一篇,零代码实现接收 GitHub Release 推送

Mixin Messenger Webhook 第一篇,零代码实现接收 GitHub Release 推送

这是「区块链技术指北」的第 70 篇文章。

一 前言


关于 Webhook,维基百科是这样介绍的:网页开发中的网络钩子(Webhook)是一种通过自定义回调函数来增加或更改网页表现的方法。这些回调可被可能与原始网站或应用相关的第三方用户及开发者保存、修改与管理。术语「网络钩子」由杰夫・林德塞(Jeff Lindsay)于 2007 年通过给计算机编程术语「钩子」(Hook)加上前缀得来。[1]

Webhook 的应用相当广泛,比如 GitHub 的 Webhook 实现自动化构建,Slack 的 Webhook 实现各种通知,企业微信使用 Webhook 实现群机器人等。可以简单理解 Webhook 就是「用户定义的 HTTP 回调」。

二 Mixin Webhook


Mixin Messenger 是一款优秀的基于 Signal 协议的端对端加密即时通讯软件。Exin 团队基于 Mixin API 实现了 Webhook,可以给自己以及管理的小群发送消息,目前支持 PLAIN_TEXT、PLAIN_CONTACT、APP_BUTTON_GROUP、APP_CARD 几种消息类型。具体的使用示例代码可以查看 https://github.com/ExinOne/webhook-samples,目前提供了 Go、PHP、Python 和 Shell 4 种语言的实现。

本文是 Mixin Messenger Webhook 的第一篇文章,之后笔者还会为大家介绍 Webhook 的更多玩法。

三 实践


好了,到此读者应该了解 Webhook 有什么用了,笔者在这里给大家展示一个 Webhook 的使用场景,监控 GitHub 的 Release,这样开发者发布新版就可以及时地知道了。

本文介绍的是零代码实现接收 GitHub Release 推送,所以我们需要借助 IFTTT 来监控 GitHub Release 的 RSS 更新,然后再调用 Webhook,将消息发送给自己。

OK,我们现在开始。

第一步,点击 https://ifttt.com 注册 IFTTT 账号。

第二步,注册 Mixin Messenger,下载链接:https://mixin.one/messenger。如果您已经有的话,打开即可。

第三步,搜索 Webhook,机器人 ID:7000000012,点击底部机器人按钮授权,授权只需要提供头像和昵称。

第四步,授权后打开 Webhook,会看到如下的页面,如图一:

图一:Webhook 授权成功页面

如果您直接打开 Webhook,这个 Access Token 可以发给你自己;如果您将 Webhook 拉到一个 Mixin 小群,消息将发送给群里的成员。

第五步,登录 IFTTT,点击右侧顶部头像,然后点击「Create」,如图二:

图二:Create 页面

第六步,Step 1 of 6,Service 选择 RSS,如图三:

图三:Step 1 of 6,选择 Service 页面

第七步,Step 2 of 6,触发器选择「New feed item」,如图四:

图四:Step 2 of 6,选择 Trigger 页面

第八步,Step 2 of 6,Feed URL 填写对应 GitHub 仓库的 RSS 链接。比如我想监控 Mixin Messenger 安卓版的发布,原始的仓库链接是 https://github.com/MixinNetwork/android-app,那么对应的 RSS 链接就是 https://github.com/MixinNetwork/android-app/releases.atom,如图五:

图五:Step 3 of 6,Service 选择 RSS 页面

第九步,If 填写好了,接下来看下 Then 部分,如图六:

图六:If...Then... 页面

第十步,Step 3 of 6,Action Service 选择「Webhook」,如图七:

图七:选择 Action Service 页面

第十一步,Step 4 of 6,Action 选择「Make a web request」,如图八:

图八:选择 Action 页面

第十二步,Step 5 of 6,Action Fields 填写,URL 填写第四步获取到的 Webhook 链接,需要把完整的 Access Token 带上;Method 选择「POST」,Content Type 选择「application/json」,如图九:

图九:Action Fields 填写页面 1

最重要的 Body 部分,如下:

\{"category":"PLAIN\_TEXT","data":"\{\{EntryAuthor\}\} released Mixin Messenger Android \{\{EntryTitle\}\} at \{\{EntryPublished\}\}"\}

其中的 ingredient 可以根据自己的需求定义,但是 category 和 data 的格式不能错,如图十:

图十:Action Fields 填写页面 2

第十三步,Step 6 of 6,Review,名字命名为「Mixin Messenger Android Release」,点击「Finish」保存,如图十一。保存成功,如图十二:

图十一:Review 页面

图十二:保存成功提示页面

待 Mixin Messenger Android 发布新版,您就可以在 Mixin Messenger 接收到推送消息了。

四 小结


本文向读者介绍了什么是 Webhook,然后介绍了 Mixin Webhook,接着向大家介绍了如何利用 Mixin Webhook 实现零代码接收 GitHub Release 推送。Webhook 的使用相当灵活,读者感兴趣也可以基于 Webhook 实现自己想要的功能。

题图来自:© Ant Media Server / MEDIA SERVER / flipboard.com

本文分享自微信公众号 - 区块链技术指北(BlockchainAge),作者:温国兵

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 开源,免费的EOS, ETH,XLM收款插件

    开发者访问本地 http 接口,向用户展示付款方法,用户付款后程序会访问本地回调URL

    Mixin Network
  • 基于Mixin Network的Go语言比特币开发教程:创建机器人

    Mixin Network 是一个免费的 极速的端对端加密数字货币交易系统. 在本章中,你可以按教程在Mixin Messenger中创建一个bot来接收用户消...

    Mixin Network
  • 免费,开源的数字货币收款插件

    虽然区块链蓬勃发展,但是程序员要在网站上支持数字货币收款依然非常困难。无论是比特币,还是eos都需要安装全节点软件才能比较稳定的做到查询收款服务。然而目前的区块...

    Mixin Network
  • 停下来,歇口气,造轮子

    上周四至今,我大概有 50-70% 的时间在造一个轮子,一个叫 merlin 的工具。 事情的起源是这样的 —— 我们内部的一个重要服务,要升级到 elixir...

    tyrchen
  • 基于Mixin Network的Ruby比特币开发教程

    Mixin Network 是一个免费的 极速的端对端加密数字货币交易系统. 在本章中,你可以按教程在Mixin Messenger中创建一个bot来接收用户...

    Mixin Network
  • 友盟 SDK 分享到 Messenger 无法发送消息

    友盟 Messenger 无法发送消息 umeng Messenger 无法发送消息 umeng Facebook Messenger 无法发送消息

    他叫自己MR.张
  • Python 比特币 教程 之一:创建机器人

    Mixin Network 是一个免费极速的点对点加密数字货币交易系统. 在本章中,你可以按教程在Mixin Messenger中创建一个bot来接收用户消息,...

    Mixin Network
  • 在安全防火墙内通过 WebHook 触发构建

    在这篇文章中,我将向大家展示,如何让运行在防火墙内的 Jenkins 依然可以实时地收到 GitHub 的 WebHook。当然,你也可以把这个方法应用到如 B...

    LinuxSuRen
  • Ruby 比特币开发教程: 机器人接受比特币并立即退还用户

    在 上一篇教程中, 我们创建了自动回复消息的机器人,当用户发送消息"Hello,World!"时,机器人会自动回复同一条消息!

    Mixin Network
  • 拉仇恨!webhook + 企业微信给同事做了个代码提交监听工具

    最近接个任务,用webhook做了个代码提交监听功能,就是有人向远程仓库提交代码后,会在企业微信群内发送一条消息,类似 @XXX 在XXX时间,向XXX项目提交...

    程序员内点事
  • 使用 GitHub 和 Python

    借助 GitHub 的网络钩子webhook,开发者可以创建很多有用的服务。从触发一个 Jenkins 实例上的 CI(持续集成) 任务到配置云中的机器,几乎有...

    py3study
  • 拉仇恨!webhook + 企业微信 给同事做了个代码提交监听工具

    最近接个任务,用webhook做了个代码提交监听功能,就是有人向远程仓库提交代码后,会在企业微信群内发送一条消息,类似 @XXX 在XXX时间,向XXX项目提交...

    程序员内点事
  • 全渠道客服中心聊天机器人实战

    本文要点 客服中心的渠道多种多样,而且数量一直在增长。 企业需要支持所有这些渠道,可以自己开发服务,也可以向CPaaS供应商购买服务,或者集成已有的服务。 自研...

    用户1263954
  • 如何使用Node.js和Github Webhooks保持远程项目同步

    在处理具有多个开发人员的项目时,当一个人推送到存储库然后另一个人开始对过时版本的代码进行更改时,这可能会令人沮丧。像这些花费时间的错误,这使得设置脚本以保持您的...

    小翼111
  • 如何扩展分布式日志组件(Exceptionless)的Webhook事件通知类型?

    从上一篇博客高并发、低延迟之C#玩转CPU高速缓存(附示例)到现在又有几个月没写博客了,啥也不说,变得越来越懒了,懒惰产生了拖延后遗症。

    justmine
  • 用 Mixin Messenger 机器人接受和发送比特币

    在 上一篇教程中, 我们创建了自动回复消息的机器人,当用户发送消息"Hello,World!"时,机器人会自动回复同一条消息!

    Mixin Network
  • 如何在Ubuntu上使用Webhooks和Slack部署React

    Webhook,也就是人们常说的钩子,是一个很有用的工具。你可以通过定制 Webhook 来监测你在 Github.com 上的各种事件,最常见的莫过于 pus...

    独钓寒江雪_Ly
  • spring-cloud-config:配置同步原理

    以下通过一个实际案例展开分析,案例为:修改 Github 远程仓库路由配置后,路由转发功能实时生效。该案例构建于 peacetrue-microservice-...

    安宁
  • 使用Java制作Facebook Messenger机器人的7个简单步骤

    我们今天将使用JBot制作Facebook Messenger Bot,因为我们之前使用JBot制作Slack Bot。

    February

扫码关注云+社区

领取腾讯云代金券