Kmoon Blog

为我的 Chaos Pool 开发一个“卖报童”机器人

约 976 字 2 min

背景

我特别想喜欢飞书的 Link Preview 功能,就是在飞书群里发送一篇文章、一个 Github 仓库链接等等,会自动生成一个预览小卡片。

link preview 效果

这就很好地解决了我平时看到优秀的文章、知识、项目的时候,收藏了一堆链接,但是到后面看着一串 URL 无从下手,不知道每个链接是什么东西的问题。

为了管理从四面八方看到的有趣内容,我建了一个飞书群,命名为“Chaos Pool”,中文译为“混沌池”,本意是希望我每天从互联网搜刮来的信息,先扔进这个混沌池子,督促我有时间一定要吸收学习掉,然后将“混沌”转为“稳定”。

为此我专门用豆包为群聊生成了一个群头像,我最后选择了第一个:

豆包

需要一个“卖报童”

后面一段时间我都是这样的流程:平时逛 Github、微信公众号、V2EX、阮一峰网络周刊等等,遇到感兴趣、有意思、我能用上的东西,就长按复制链接、打开飞书、进入chaos pool群聊、粘贴链接、回车发送。这一套是不是看着还挺行云流水。

后来我慢慢发现,这样其实还是有点麻烦,中间很多环节都可以简化或者省略掉,我期望最终形态是:我复制链接、自动调起一个发送框、回车发送,至少在移动端这样才是我希望的流程。

而且还有一个问题,我经常看的社区、周刊、月刊,基本上都是定时发布,我每次还需要自己去对应的网站查看,我需要一个人(机器人)到点自动帮我推送到群里,有点像 RSS 订阅一样。

因此,我需要在飞书群里添加一个机器人,来完成上面这些任务,我给他起名为“卖报童”,这个名字也是通俗易懂。

添加飞书机器人

添加完飞书机器人后,我们得到了一个名为 webhook 的 https 链接,怎么用呢?

webhook 是什么?怎么用?

webhook 是什么?怎么用?我们点击查阅一下官方使用指南。看完发现没啥,可以理解为一个发送消息的接口,通过 webhook 请求可以在飞书群里发送消息。

那我们先简单调试一下,测试调用自定义机器人的 webhook 地址,向所在群组发送消息。:

curl -X POST -H "Content-Type: application/json" \
    -d '{"msg_type":"text","content":{"text":"啦啦啦!啦啦啦!我是卖报的小行家。"}}' \
    https://open.feishu.cn/open-apis/bot/v2/hook/****

我们可以看到群里收到了卖报童发来的卖报歌,:

这里遇到一个问题,通过机器人发送的链接没有生成预览卡片,我自己手动发送的明明可以生成卡片呀。

了解后发现“自定义机器人”不支持链接预览功能,需要创建一个“应用机器人”:

#Feishu #Bot