Hertz middleware for go-lark.
go get -u github.com/go-lark/lark-hertz
package main
import (
"context"
"fmt"
"github.com/cloudwego/hertz/pkg/app"
"github.com/cloudwego/hertz/pkg/app/server"
"github.com/go-lark/lark-hertz"
)
func main() {
r := server.Default()
middleware := larkhertz.NewLarkMiddleware()
r.Use(middleware.LarkEventHandler())
r.Use(middleware.LarkChallengeHandler())
r.POST("/", func(c context.Context, ctx *app.RequestContext) {
if evt, err := middleware.GetEvent(ctx); err == nil {
if evt.Header.EventType == lark.EventTypeMessageReceived {
if msg, err := evt.GetMessageReceived(); err == nil {
fmt.Println(msg.Message.Content)
}
}
// you may parse other events
}
})
r.Spin()
}
middleware.WithTokenVerfication("asodjiaoijoi121iuhiaud")
middleware.WithEncryption("1231asda")
middleware.BindURLPrefix("/abc")
Copyright (c) go-lark Developers, 2018-2022.