Documentation
¶
Overview ¶
Package lark provides message notification integration for Lark. Two kinds of bots on Lark are supported -- webhooks and custom apps. For information on webhook bots, see https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/bot-v3/use-custom-bots-in-a-group, and for info on custom apps, see https://open.larksuite.com/document/home/develop-a-bot-in-5-minutes/create-an-app.
Usage:
package main
import (
"context"
"log"
"github.com/nikoksr/notify"
"github.com/nikoksr/notify/service/lark"
)
const (
webhookURL = "https://open.feishu.cn/open-apis/bot/v2/hook/xxx"
appId = "xxx"
appSecret = "xxx"
)
func main() {
// Two types of services are available depending on your requirements.
larkWebhookService := lark.NewWebhookService(webhookURL)
larkCustomAppService := lark.NewCustomAppService(appId, appSecret)
// Lark implements five types of receiver IDs. You'll need to specify the
// type using the respective helper functions when adding them as receivers
// for the custom app service.
larkCustomAppService.AddReceivers(
lark.OpenID("xxx"),
lark.UserID("xxx"),
lark.UnionID("xxx"),
lark.Email("xyz@example.com"),
lark.ChatID("xxx"),
)
notifier := notify.New()
notifier.UseServices(larkWebhookService, larkCustomAppService)
if err := notifier.Send(context.Background(), "subject", "message"); err != nil {
log.Fatalf("notifier.Send() failed: %s", err.Error())
}
log.Println("notification sent")
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CustomAppService ¶ added in v0.31.0
type CustomAppService struct {
// contains filtered or unexported fields
}
CustomAppService is a Lark notify service using a Lark custom app.
func NewCustomAppService ¶
func NewCustomAppService(appID, appSecret string) *CustomAppService
NewCustomAppService returns a new instance of a Lark notify service using a Lark custom app.
func (*CustomAppService) AddReceivers ¶ added in v0.31.0
func (c *CustomAppService) AddReceivers(ids ...*ReceiverID)
AddReceivers adds recipients to future notifications. There are five different types of receiver IDs available in Lark and they must be specified here. For example:
larkService.AddReceivers(
lark.OpenID("ou_c99c5f35d542efc7ee492afe11af19ef"),
lark.UserID("8335aga2"),
lark.UnionID("on_cad4860e7af114fb4ff6c5d496d1dd76"),
lark.Email("xyz@example.com"),
lark.ChatID("oc_a0553eda9014c201e6969b478895c230"),
)
type ReceiverID ¶ added in v0.31.0
type ReceiverID struct {
// contains filtered or unexported fields
}
ReceiverID encapsulates a receiver ID and its type in Lark.
type WebhookService ¶ added in v0.31.0
type WebhookService struct {
// contains filtered or unexported fields
}
WebhookService is a Notify service that uses a Lark webhook to send messages.
func NewWebhookService ¶
func NewWebhookService(webhookURL string) *WebhookService
NewWebhookService returns a new instance of a Lark notify service using a Lark group chat webhook. Note that this service does not take any notification receivers because it can only push messages to the group chat it belongs to.