作者:企联AI
推荐理由
我们将制作飞书 Webhook 类型的机器人,定时发送喝水提醒。一起看看如何将这个项目实现并让它运行起来!
省流版
00:00
今天我们开始一个新的项目,关于飞书的机器人。在国内的即时消息平台中,相比钉钉和企业微信,我觉得飞书做得非常出色。当然,与国外的 Slack 和 Discord 相比,还有一些差距,但飞书已经招募了大量的人,对吧?希望他们能早日盈利。不过没关系,飞书的机器人表现非常出色。我来向大家介绍一下飞书的机器人,总共有两种类型:一种是 Webhook,另一种是自定义机器人应用。Webhook 很简单,就是在群机器人中复制链接即可。本节课我们将制作这种 Webhook 类型的机器人,下一个项目我们再制作机器人应用。让我们来看一下项目的最终效果,即会定时发送喝水提醒。我们将实现这个项目并让它运行起来。
00:49
这个机器人需要进行一些配置。首先,让我们进入项目,看一下结构。只有一个 main 文件,在其中加入 token。那么,我们从哪里获取这个 token 呢?我创建了一个微信群,这个群里面有一个设置,我们点进去,然后放大一点,在设置中有一个群机器人选项。你添加一个机器人,然后你就会得到一个自定义机器人,点击复制,在复制时,我们只需要复制最后的那个 token。我也去复制一下。
01:49
然后,我们将它粘贴进代码中,接下来是 secret,同样地,在飞书的设置中有一个签名校验,我们复制这个校验。现在我们将这些保存下来,然后再次运行项目,看看效果。我们来对比一下。现在我们清楚地可以看到,每隔 5 秒就会收到一条消息,提醒我们喝水。我们接下来将实现这个项目,首先新建一个文件,然后使用 Goland 打开它。我们先编写入口文件,在这里我们需要使用一个第三方包,它封装了关于 Go 机器人的内容,我们导入它。现在我们可以创建一个客户端了,它需要两个参数:一个是 token,另一个是 key。目前我们还没有这两者,等一下,我们先继续。然后将这个 token 存为一个变量。这个 token 在哪里?在飞书的群配置中,群机器人,只需复制最后一部分。同样地,我们的 key,我们现在称它为 token key。让我们先创建一个简单的消息,看看基本功能。
04:06
基本功能已经实现了,它已经向群里发送了一个简单的 "hello world"。我们来看一下效果。"hello world" 已经显示出来了,现在我们不只想要这么简单的消息,对吧?我们将其封装为一个函数,我们称之为 "send message",然后我们想要一个新的函数叫做 "send card",因为我们可以发送多媒体消息。这就是消息卡片,它允许我们以各种格式发送消息。
04:52
这个消息卡片的构建就像搭积木一样,最终效果就是一个个不同格式的块,每个部分都可以替换,将其中的部分标记为变量,也可以进行替换。然后我们将这个 JSON 格式的卡片转换为 Go 中可用的格式,然后我们将其放入一个时间戳中。
05:34
现在让我们看看效果,发送成功了,你看,消息已经发送过来了。但是我们之前的示例是要每隔 5 分钟或 10 分钟提醒一次喝水,对吧?所以我们需要一个循环,在 Go 中非常简单,我们可以直接使用协程,创建一个每 5 秒钟发送一次消息的 Go 协程,然后使用控制流,每 5 秒钟发送一次 "send message"。现在我们将它改为 2 秒,然后运行一下,看看效果。
06:27
现在每隔两秒钟,就会发送一次消息,对吧?2 秒,这个项目就已经实现了,所以说非常非常简单。飞书的机器人也非常具有可玩性,这个项目可能没有太多实际用途,但你可以根据自己的想象力进行扩展,使其更加有趣。今天的项目就到这里,再见。
源代码