Skip to content

Commit c3155c8

Browse files
authored
Merge pull request #3 from li-jin-gou/feat/lark_suit
reactor: use oapi-sdk-go
2 parents 8ed9c5d + 34ee3dd commit c3155c8

11 files changed

+235
-501
lines changed

CODE_OF_CONDUCT.md

-128
This file was deleted.

CONTRIBUTING.md

-55
This file was deleted.

README.md

+41-30
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# lark-hertz (This is a community driven project)
22

3+
an [oapi-sdk-go](https://github.com/larksuite/oapi-sdk-go) extension package that integrates the hertz web framework
4+
35
## Installation
46

57
```bash
@@ -15,43 +17,52 @@ import (
1517
"context"
1618
"fmt"
1719

18-
"github.com/chyroc/lark"
1920
"github.com/cloudwego/hertz/pkg/app/server"
20-
"github.com/hertz-contrib/lark-hertz"
21+
lark_hertz "github.com/hertz-contrib/lark-hertz"
22+
larkcard "github.com/larksuite/oapi-sdk-go/v3/card"
23+
larkcore "github.com/larksuite/oapi-sdk-go/v3/core"
24+
"github.com/larksuite/oapi-sdk-go/v3/event/dispatcher"
25+
larkcontact "github.com/larksuite/oapi-sdk-go/v3/service/contact/v3"
26+
larkim "github.com/larksuite/oapi-sdk-go/v3/service/im/v1"
2127
)
22-
2328
func main() {
24-
// 1: init lark client
25-
larkCli := lark.New(
26-
lark.WithAppCredential("", ""),
27-
lark.WithEventCallbackVerify("", ""),
28-
)
29-
30-
// 2: register lark msg callback login
31-
// handle text, file, image and send response
32-
larkCli.EventCallback.HandlerEventV2IMMessageReceiveV1(func(ctx context.Context, cli *lark.Lark, schema string, header *lark.EventHeaderV2, event *lark.EventV2IMMessageReceiveV1) (string, error) {
33-
content, err := lark.UnwrapMessageContent(event.Message.MessageType, event.Message.Content)
34-
if err != nil {
35-
return "", err
36-
}
37-
switch event.Message.MessageType {
38-
case lark.MsgTypeText:
39-
_, _, err = cli.Message.Reply(event.Message.MessageID).SendText(ctx, fmt.Sprintf("got text: %s", content.Text.Text))
40-
case lark.MsgTypeFile:
41-
_, _, err = cli.Message.Reply(event.Message.MessageID).SendText(ctx, fmt.Sprintf("got file: %s, key: %s", content.File.FileName, content.File.FileKey))
42-
case lark.MsgTypeImage:
43-
_, _, err = cli.Message.Reply(event.Message.MessageID).SendText(ctx, fmt.Sprintf("got image: %s", content.Image.ImageKey))
44-
}
45-
return "", err
29+
// create event handler
30+
handler := dispatcher.NewEventDispatcher("v", "1212121212").OnP2MessageReceiveV1(func(ctx context.Context, event *larkim.P2MessageReceiveV1) error {
31+
fmt.Println(larkcore.Prettify(event))
32+
fmt.Println(event.RequestId())
33+
return nil
34+
}).OnP2MessageReadV1(func(ctx context.Context, event *larkim.P2MessageReadV1) error {
35+
fmt.Println(larkcore.Prettify(event))
36+
fmt.Println(event.RequestId())
37+
return nil
38+
}).OnP2UserCreatedV3(func(ctx context.Context, event *larkcontact.P2UserCreatedV3) error {
39+
fmt.Println(larkcore.Prettify(event))
40+
fmt.Println(event.RequestId())
41+
return nil
4642
})
4743

48-
// 3: init hertz server
49-
h := server.Default()
50-
h.POST("/api/lark_callback", lark_hertz.ListenCallback(larkCli, lark_hertz.WithIgnoreCheckSignature(true)))
44+
// create card action handler.
45+
cardHandler := larkcard.NewCardActionHandler("v", "", func(ctx context.Context, cardAction *larkcard.CardAction) (interface{}, error) {
46+
fmt.Println(larkcore.Prettify(cardAction))
5147

52-
h.Spin()
48+
// return card
49+
// return getCard(),nil
5350

54-
// 4: deploy server to cloud, and set lark callback url to `<host>/api/lark_callback`
51+
// return custom resp
52+
// return getCustomResp(),nil
53+
54+
// return nil
55+
return nil, nil
56+
})
57+
58+
// register handler
59+
h := server.Default(server.WithHostPorts(":9999"))
60+
61+
h.POST("/webhook/event", lark_hertz.NewEventHandlerFunc(handler))
62+
h.POST("/webhook/card", lark_hertz.NewCardActionHandlerFunc(cardHandler))
63+
64+
// start server
65+
h.Spin()
5566
}
5667
```
5768

check_branch_name.sh

-10
This file was deleted.

0 commit comments

Comments
 (0)