Skip to content

Instantly share code, notes, and snippets.

@handlerww
Created August 25, 2022 05:05
Show Gist options
  • Save handlerww/4ff6ad1220a12d201a381caa51ad030a to your computer and use it in GitHub Desktop.
Save handlerww/4ff6ad1220a12d201a381caa51ad030a to your computer and use it in GitHub Desktop.
lark bot
package main
import (
"context"
"fmt"
"net/http"
"os"
"github.com/gin-gonic/gin"
"github.com/chyroc/lark"
)
func main() {
// stdout and stderr are sent to AWS CloudWatch Logs
cli := lark.New(
lark.WithAppCredential(os.Getenv("lark_app_id"),os.Getenv("lark_app_secret")),
lark.WithEventCallbackVerify(os.Getenv("lark_encrypt_key"), os.Getenv("lark_verfication_token")),
)
cli.EventCallback.HandlerEventV2IMMessageReceiveV1(func(ctx context.Context, cli *lark.Lark, schema string, header *lark.EventHeaderV2, event *lark.EventV2IMMessageReceiveV1) (string, error) {
fmt.Println(event.Message.Mentions[0].Name)
_, _, err := cli.Message.Reply(event.Message.MessageID).SendText(ctx, "hi, "+event.Message.Content)
return "", err
})
r := gin.Default()
r.GET("/api", gin.WrapF(func(w http.ResponseWriter, req *http.Request) {
cli.EventCallback.ListenCallback(req.Context(), req.Body, w)
}))
// ginLambda = ginadapter.New(r)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment