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

作者:

文章目录
  • 你需要一个飞书机器人的 Webhook 地址,形如: https://open.feishu.cn/open-apis/bot/v2/hook/xxxx-xxxx-xxxx-xxxx 确保的机器人在群聊中,并已开启“加签验证”或“自定义关键词”等配置(视你配置而定)。
  • 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 飞书机器人定时发送内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: 简单用VBS调用企业微信机器人发定时消息的方法 Python开发企业微信机器人每天定时发消息实例 Python实现企业微信机器人每天定时发消息实例 python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送) 详解用python自制微信机器人,定时发送天气预报
  • 目录
    • ✅ 一、准备工作
    • ✅ 二、Go 示例代码(每分钟发一次消息)
    • ✅ 三、效果说明

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

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

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

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

    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 飞书机器人定时发送内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • 简单用VBS调用企业微信机器人发定时消息的方法
    • Python开发企业微信机器人每天定时发消息实例
    • Python实现企业微信机器人每天定时发消息实例
    • python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
    • 详解用python自制微信机器人,定时发送天气预报

    站内搜索