0行代码让叮当监控重要事件



  • 作者:@wzpan

    要让叮当能够监控一些关键事件并触发响应操作,除了编写插件之外,还有一个简单省事的方法:利用 IFTTT 。下面我举几个简单的示例,其他的应用场景你们可以尽情发挥想象力。

    什么是 IFTTT

    IFTTT 是一个被称为 “网络自动化神器” 的创新型互联网服务,它非常实用而且完全免费。它的全称是 If this then that,意思是“如果这样,那么就那样”。简单地讲,IFTTT 的作用就是,如果「这个」网络服务满足条件,那么就自动触发「那个」网络服务去执行一个动作。而条件和动作都是可以由用户自己去根据自身需求设置的。IFTTT 能将前后这两个不同的网络服务神奇般地连通来实现各种各样的功能,并且为你不间断地工作。

    在阅读下面的文章前,建议先去注册一个 IFTTT 账号,为了方便关联叮当,建议使用叮当的收件邮箱注册。

    示例1:提醒睡觉

    不想被晚睡拖延症影响你第二天的工作?让叮当在每晚喊你去睡觉吧!

    首先进入 IFTTT 的 创建页,点击 [+This] 按钮:

    image|690x256

    在里头可以找到一个 Date & Time 插件,这个插件用来在特定时间触发事件。

    我们点击它,进入插件的二级选择页面:

    image|690x388

    在这里我们选择 [Every day at] ,在接下来的界面中设定好触发时间:

    image|503x500

    这就完成了触发事件的设置。

    接下来我们完成响应。怎么让叮当去响应这个事件呢?答案就是利用叮当的邮箱检查机制。了解了 [echo][control] 两个关键词的用途后,接下来我们就可以利用 IFTTT 发送标题为 [echo] 主人,您得睡觉了 的邮件到叮当的收件邮箱中,让叮当提醒您睡觉。

    点击 [+that] 按钮,

    image|690x145

    然后从插件列表中选择 Email 插件,选择 Send me an Email :

    image|485x326

    Subject 就是邮件标题,填写您希望叮当通知你的内容,并带上 [echo] 前缀即可:

    image|346x499

    由于邮件只用作提醒,所以 Body 里头的正文没有什么用途,不用改。完成后点击 [Create action] 按钮即可。

    简单几步,就实现了 0 行代码让叮当通知你睡觉了,是不是很方便?

    示例2:Github Star 通知

    当你的 Github 项目收到别人的 star 时,是不是很有成就感?可以让叮当监控 Github 上的 star 事件,然后通知你,给你打打鸡血。

    首先先确定 star 事件的捕获方法。Github 为 star 等与你相关的事件提供了 RSS 订阅地址。地址就放在 Github 首先 Activities 页面的底部:

    image|690x465

    点击 [Subscribe to your news feed] 链接,我们可以看到所有首页的事件。通过阅读该 RSS 源,可以发现与用户的 star 有关的事件都带有 starred 账户名/ 的关键词。

    针对 RSS 订阅, IFTTT 提供了 RSS 插件:

    image|237x236

    其中的 [New feed item matches] 项目可用于监控特定形式的 RSS 条目,并触发事件。

    image|668x288

    因此我们可以添加如下的 Applet,详细流程参考上面的例子,不再赘述:

    this 的设置:

    image|254x500

    that 的设置:

    image|301x500

    示例3:天气报警

    希望叮当在即将下雨的时候主动提醒你外出带伞?可以使用 IFTTT 的 Weather Underground 服务插件:

    image|235x234

    该插件提供了十几种天气事件监控服务:

    image|690x434

    在这里可以选择 [Current condition changes to] 服务,设定当下雨时触发邮件事件:

    this 的设置:

    image|466x500

    that 的设置:

    image|341x500


Log in to reply
 

Popular Topics

|

Looks like your connection to SCC was lost, please wait while we try to reconnect.