feat: migrate codes from previous project

This commit is contained in:
ECSS 11
2026-01-19 02:10:24 -06:00
parent 00c0f457c5
commit 724fe14c0e
15 changed files with 420 additions and 10 deletions

53
internal/feishu/client.go Normal file
View File

@@ -0,0 +1,53 @@
package feishu
import (
"context"
"encoding/json"
"fmt"
"github.com/google/uuid"
lark "github.com/larksuite/oapi-sdk-go/v3"
larkcore "github.com/larksuite/oapi-sdk-go/v3/core"
larkim "github.com/larksuite/oapi-sdk-go/v3/service/im/v1"
)
type Client struct {
larkClient *lark.Client
}
func NewClient(larkClient *lark.Client) *Client {
return &Client{larkClient: larkClient}
}
func (c *Client) SendMessageToChat(ctx context.Context, message, chatID string) error {
content := &MessageContent{
Text: message,
}
contentJson, err := json.Marshal(content)
if err != nil {
return err
}
contentString := string(contentJson)
req := larkim.NewCreateMessageReqBuilder().
ReceiveIdType("chat_id").
Body(larkim.NewCreateMessageReqBodyBuilder().
ReceiveId(chatID).
MsgType(`text`).
Content(contentString).
Uuid(uuid.New().String()).
Build()).
Build()
resp, err := c.larkClient.Im.V1.Message.Create(ctx, req)
if err != nil {
return err
}
if !resp.Success() {
fmt.Printf("logId: %s, error response: \n%s", resp.RequestId(), larkcore.Prettify(resp.CodeError))
return nil
}
return nil
}