Go寫一個(gè)飛書機(jī)器人定時(shí)發(fā)送消息的項(xiàng)目實(shí)踐
下面是一個(gè)每分鐘調(diào)用飛書機(jī)器人 Webhook 地址發(fā)送消息的完整 Go 示例。
? 一、準(zhǔn)備工作
你需要一個(gè)飛書機(jī)器人的 Webhook 地址,形如:
https://open.feishu.cn/open-apis/bot/v2/hook/xxxx-xxxx-xxxx-xxxx
確保的機(jī)器人在群聊中,并已開啟“加簽驗(yàn)證”或“自定義關(guān)鍵詞”等配置(視你配置而定)。
? 二、Go 示例代碼(每分鐘發(fā)一次消息)
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"time"
"github.com/robfig/cron/v3"
)
// 替換為你的機(jī)器人 Webhook 地址
const webhookURL = "https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxx"
func main() {
c := cron.New(cron.WithSeconds()) // 開啟秒級(jí)支持
_, err := c.AddFunc("0 * * * * *", func() {
fmt.Println("每分鐘觸發(fā)任務(wù),當(dāng)前時(shí)間戳:", time.Now().Unix())
formattedTime := time.Now().Format("2025/01/02 15:04:05")
sendLarkBotMessage("無(wú)論在干什么,請(qǐng)記得及時(shí)喝水\n當(dāng)前時(shí)間:" + formattedTime)
})
if err != nil {
fmt.Println("添加定時(shí)任務(wù)失敗:", err)
return
}
c.Start()
fmt.Println("飛書定時(shí)消息機(jī)器人啟動(dòng)成功...")
select {} // 阻塞主線程
}
// 發(fā)送消息到飛書機(jī)器人
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("發(fā)送請(qǐng)求失?。?, err)
return
}
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
}
}(resp.Body)
fmt.Println("飛書響應(yīng)狀態(tài)碼:", resp.StatusCode)
}
? 三、效果說(shuō)明
- 每分鐘的第 0 秒自動(dòng)調(diào)用飛書 webhook。
- 消息內(nèi)容包含當(dāng)前 Unix 時(shí)間戳。
- 控制臺(tái)會(huì)打印每次調(diào)用的日志與 HTTP 狀態(tài)碼。
到此這篇關(guān)于Go寫一個(gè)飛書機(jī)器人定時(shí)發(fā)送消息的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)Go 飛書機(jī)器人定時(shí)發(fā)送內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go語(yǔ)言中html/template模塊詳細(xì)功能介紹與示例代碼
這篇文章主要介紹了Go語(yǔ)言中html/template模塊詳細(xì)功能介紹與示例代碼,這里說(shuō)的是go 語(yǔ)言中自帶的包html/template里的一些基本操作,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
golang實(shí)現(xiàn)簡(jiǎn)單rpc調(diào)用過程解析
這篇文章主要介紹了golang實(shí)現(xiàn)簡(jiǎn)單rpc調(diào)用,包括RPC具體實(shí)現(xiàn)結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05

