Go写一个飞书机器人定时发送消息的项目实践

 更新时间:2025年06月19日 09:24:11   作者:柯南二号  
本文主要介绍了Go写一个飞书机器人定时发送消息的项目实践,需配置Webhook地址并确保机器人在群聊中,代码每分钟触发一次,发送当前Unix时间戳消息,控制台记录调用日志与HTTP状态码

下面是一个每分钟调用飞书机器人 Webhook 地址发送消息的完整 Go 示例。

✅ 一、准备工作

你需要一个飞书机器人的 Webhook 地址,形如:

https://open.feishu.cn/open-apis/bot/v2/hook/xxxx-xxxx-xxxx-xxxx

确保的机器人在群聊中,并已开启“加签验证”或“自定义关键词”等配置(视你配置而定)。

✅ 二、Go 示例代码(每分钟发一次消息)

package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io"
	"net/http"
	"time"

	"github.com/robfig/cron/v3"
)

// 替换为你的机器人 Webhook 地址
const webhookURL = "https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxx"

func main() {
	c := cron.New(cron.WithSeconds()) // 开启秒级支持

	_, err := c.AddFunc("0 * * * * *", func() {
		fmt.Println("每分钟触发任务,当前时间戳:", time.Now().Unix())
		formattedTime := time.Now().Format("2025/01/02 15:04:05")
		sendLarkBotMessage("无论在干什么,请记得及时喝水\n当前时间:" + formattedTime)
	})

	if err != nil {
		fmt.Println("添加定时任务失败:", err)
		return
	}

	c.Start()
	fmt.Println("飞书定时消息机器人启动成功...")

	select {} // 阻塞主线程
}

// 发送消息到飞书机器人
func sendLarkBotMessage(content string) {
	message := map[string]interface{}{
		"msg_type": "text",
		"content": map[string]string{
			"text": content,
		},
	}

	jsonData, err := json.Marshal(message)
	if err != nil {
		fmt.Println("消息序列化失败:", err)
		return
	}

	resp, err := http.Post(webhookURL, "application/json", bytes.NewBuffer(jsonData))
	if err != nil {
		fmt.Println("发送请求失败:", err)
		return
	}
	defer func(Body io.ReadCloser) {
		err := Body.Close()
		if err != nil {

		}
	}(resp.Body)

	fmt.Println("飞书响应状态码:", resp.StatusCode)
}

✅ 三、效果说明

  • 每分钟的第 0 秒自动调用飞书 webhook。
  • 消息内容包含当前 Unix 时间戳。
  • 控制台会打印每次调用的日志与 HTTP 状态码。

参考:在群组中使用机器人 

到此这篇关于Go写一个飞书机器人定时发送消息的项目实践的文章就介绍到这了,更多相关Go 飞书机器人定时发送内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Go语言设计模式之单例模式

    详解Go语言设计模式之单例模式

    单例模式很容易记住。就像名称一样,它只能提供对象的单一实例,保证一个类只有一个实例,并提供一个全局访问该实例的方法。本文就来聊聊Go语言中的单例模式,感兴趣的小伙伴可以了解一下
    2022-10-10
  • 深入理解Go语言中接口的使用

    深入理解Go语言中接口的使用

    在现代编程语言中,接口是不可或缺的一个重要特性,这篇文章将为大家详细介绍Go语言中的接口,从而能够更好得使用Go语言,需要的可以参考一下
    2023-06-06
  • Golang rxgo库的具体使用

    Golang rxgo库的具体使用

    本文主要介绍了Golang rxgo库的具体使用,类似于JavaStream的流式编程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-02-02
  • golang中beego入门

    golang中beego入门

    Beego是一个基于Go语言的开源框架,用于构建Web应用程序和API,本文主要介绍了golang中beego入门,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Go语言中log日志库的介绍

    Go语言中log日志库的介绍

    本文给大家介绍Go语言中log日志库的概念使用技巧,log包定义了Logger类型,该类型提供了一些格式化输出的方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-10-10
  • Go语言中html/template模块详细功能介绍与示例代码

    Go语言中html/template模块详细功能介绍与示例代码

    这篇文章主要介绍了Go语言中html/template模块详细功能介绍与示例代码,这里说的是go 语言中自带的包html/template里的一些基本操作,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • Golang中的panic之避免和处理程序中的异常情况

    Golang中的panic之避免和处理程序中的异常情况

    Golang中的panic是一种异常处理机制,可以在程序出现异常情况时终止程序并打印错误信息。为了避免panic对程序的影响,开发者可以采用一系列技巧,如defer+recover、编写可重入的代码、使用错误返回值等。这些技巧可以帮助开发者优雅地处理程序中的异常情况
    2023-04-04
  • 详解golang开发中select多路选择

    详解golang开发中select多路选择

    这篇文章主要介绍了golang开发中select多路选择,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • golang实现简单rpc调用过程解析

    golang实现简单rpc调用过程解析

    这篇文章主要介绍了golang实现简单rpc调用,包括RPC具体实现结合实例代码给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Go errors默认加堆栈信息的作用分析

    Go errors默认加堆栈信息的作用分析

    这篇文章主要为大家介绍了Go errors默认加堆栈信息作用分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12

最新评论