热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何为阿里云论坛建设一个新帖提醒系统

系统架构系统设计思路IFTTT为我们提供了方便的RSS更新检查功能,可以让我们免于开发,监控站点信息。同时,钉钉提供的机器人功能ÿ

系统架构

系统设计思路

IFTTT 为我们提供了方便的 RSS 更新检查功能,可以让我们免于开发,监控站点信息。同时,钉钉提供的机器人功能,可以让我们很方便的实现后续的消息提醒功能。

如何操作?

创建 Applets

首先,你需要到 IFTTT 注册一个账号,

注册成功后,点击 My Applets,进入到个人脚本页面。

点击右侧的 New Applet,创建新的脚本。

创建触发器

首先,我们需要点击 This,来设置脚本的触发器(Trigger),

在新的页面中,中部有一个用于快速搜索的输入框,在其中输入关键词 「Feed」,然后可以看到下方筛选出的两个服务,选择其中的 「RSS Feed」。

点击后,会进入到具体的触发器选择界面。左侧的「New Feed Item」是只要有新的条目(新的帖子)就会触发,右侧的「New Feed Item Matches」则是有新的条目(新的帖子),同时匹配到对应的关键词,才会触发,可以用于某些关键词的特殊监控(比如某些消极词汇)。

我们使用左侧的「New Feed Item」 来设置监控(因为我们是以全站消息为例的,并非监控某个关键词)。

右侧的触发器和左侧的基本一致,仅仅是多了一个关键词的设置项。

在新的页面中,输入 产品板块对应的 RSS 的地址

如何找到对应的 RSS 地址?

对于每个产品的团队来说,需要的是自己板块的信息监控,那么,你就无法使用全站的 RSS 监控,这里我们可以使用各个板块自己的监控地址。

这里我们以 「云服务器 ECS」为例,进入阿里云论坛,找到对应的板块,并点击进去

在板块顶部的介绍部分的右侧,你可以看到一个「订阅

点击「订阅」,会进入到 RSS 信息页面。

复制地址栏中的地址,并进行简单的处理(删除其中的 SPM 部分),就可以作为我们监控用的 RSS 地址了。

地址处理方法

去除请求中的 SPM 参数,如

https://bbs.aliyun.com/rss.php?spm=5176.bbsl207.0.0.jPzBUj&fid=207

经过处理后的地址是

https://bbs.aliyun.com/rss.php?fid=207

我们去除了其中的 「spm=5176.bbsl207.0.0.jPzBUj&

这个参数是用来判别机器人的,不过我们是 RSS 监控,仅仅是读取操作,所以可以删除这个参数。不删除理论上也是可行的。

获取到我们的 RSS 地址后,就可以继续设置我们的触发器了。在触发器中填写我们刚刚处理后的 RSS 地址。

填写完成后,点击 Create Trigger.

设置机器人

确认后,我们会进入到设置动作的界面,点击 That,

在新的页面中,参照刚刚的设置,输入关键词「Web」,然后选择 WebHooks 服务。

在选择触发器界面,选择 「Make a web Request」。

会进入新的界面,在这个界面,我们可以设置请求的具体内容,用于向钉钉机器人发送请求。

不过,在设置项目之前,我们需要先在「钉钉群」内创建机器人。

不是钉钉群无法加入机器人发送消息,所以你需要至少三个人来拉群。拉完群后,你可以把无关人等踢出去。

在钉钉群内,点击右上角的「群设置

点击群设置中的「群机器人

添加一个「自定义机器人

点击「添加

简单设置一下机器人,点击下一步。

在新的页面,你会看到一个「WebHook」 地址,复制这个地址。稍后我们会用到。

回到 IFTTT 的设置页面,继续我们刚刚未完成的设置。

将我们复制的 WebHook 地址,粘贴到其中的「URL」,下方的 Method 选择 「POST」,ContentType 选择 「application/json」。

下方的 Body 则设置为

{ "msgtype": "link", "link": { "text": " {{EntryTitle}}", "title": " {{EntryTitle}}", "picUrl": " {{EntryImageUrl}}", "messageUrl": " {{EntryUrl}}" }
}

上述代码可以实现如下效果。如果你有自定义的需求,可以根据上方的代码和钉钉机器人的设置文档进行自定义。

设置完成后,点击「Create Action」来创建对应动作。

在弹出的设置页面中,设置好对应的脚本名称,然后取消下方的 Receive notificati ons when this Applet runs 的选中(不取消而同时你安装了对应的 App ,可能会很吵)。

最后,点击 Finish ,即可完成设置,后续,当论坛发出新帖后,机器人就会在群里发送通知的提醒。

由于 RSS 存在缓存和 IFTTT 监控频率的问题,所以消息通知可能不是实时的,不过时间间隔在15分钟以内,基本可以快速响应。




推荐阅读
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • php7 curl_init(),php7.3curl_init获取301、302跳转后的数据
    最近在做一个蜘蛛项目,发现在抓取数据时,有时会碰到301的页面,原本写的curl_init函数php7-远程获取api接口或网页内容&#x ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • 本文讨论了在使用PHP cURL发送POST请求时,请求体在node.js中没有定义的问题。作者尝试了多种解决方案,但仍然无法解决该问题。同时提供了当前PHP代码示例。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
有激情才会实现梦想
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有