用Go写一个飞书机器人定时发送消息的程序

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


✅ 一、准备工作

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

复制代码
https://open.feishu.cn/open-apis/bot/v2/hook/xxxx-xxxx-xxxx-xxxx

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


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

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 状态码。


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

相关推荐
TsingtaoAI34 分钟前
TsingtaoAI荣膺2025澳门首届DSA国际创新创业大赛奖项,RISC-V AI机器人引领行业新突破
人工智能·机器人·risc-v
夜幕龙1 小时前
宇树 G1 部署(十一)——遥操作脚本升级 teleop_hand_and_arm_update.py
人工智能·机器人·具身智能
夜幕龙1 小时前
宇树 G1 部署(十三)——本体部署 SLAM 导航
机器人·slam·具身智能
八月瓜科技2 小时前
八月瓜科技参与“数据要素驱动产业升级”活动,分享【数据赋能科技创新全链条】
java·大数据·人工智能·科技·机器人·程序员创富
海岸线科技2 小时前
人、智能体和机器人:麦肯锡最新报告引发的思考
人工智能·机器人·制造·质量·qms
古城小栈2 小时前
Go 72变之 编成 C语言
c语言·python·golang
卿雪3 小时前
认识Redis:Redis 是什么?好处?业务场景?和MySQL的区别?
服务器·开发语言·数据库·redis·mysql·缓存·golang
OpenLoong 开源社区3 小时前
技术视界 | 当开源机器人走进校园:一场研讨会上的开源教育实践课
人工智能·机器人·开源
foxsen_xia3 小时前
go(基础10)——错误处理
开发语言·后端·golang
雨中散步撒哈拉3 小时前
21、做中学 | 高一上期 |Golang单元测试
golang·单元测试·log4j