Documentation
¶
Index ¶
- type Bot
- type BotChatStore
- type BotOption
- func WithAddr(addr string) BotOption
- func WithAlertmanager(u *url.URL) BotOption
- func WithChatsToSubscribe(chats ...telebot.Chat) BotOption
- func WithExtraAdmins(ids ...int) BotOption
- func WithLogger(l log.Logger) BotOption
- func WithRevision(r string) BotOption
- func WithStartTime(st time.Time) BotOption
- func WithTemplates(t *vendor.Template) BotOption
- func WithTranslation(t *loc.Printer) BotOption
- type ChatStore
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bot ¶
type Bot struct {
// contains filtered or unexported fields
}
Bot runs the alertmanager telegram
func NewBot ¶
func NewBot(chatStore BotChatStore, token string, admin int, verbose bool, opts ...BotOption) (*Bot, error)
NewBot creates a Bot with the UserStore and telegram telegram
func (*Bot) Handle ¶
func (b *Bot) Handle(endpoint interface{}, handler interface{})
Handle functions just wrap Telegram Handle
func (*Bot) HandleCommands ¶
HandleCommands process received commands via Telegram Message
func (*Bot) SendAdminMessage ¶
SendAdminMessage to the admin's ID with a message
type BotChatStore ¶
type BotChatStore interface {
List() ([]telebot.Chat, error)
Add(telebot.Chat) error
Remove(telebot.Chat) error
}
BotChatStore is all the Bot needs to store and read
type BotOption ¶
type BotOption func(b *Bot)
BotOption passed to NewBot to change the default instance
func WithAddr ¶
WithAddr sets the internal listening addr of the bot's web server receiving webhooks
func WithAlertmanager ¶
WithAlertmanager sets the connection url for the Alertmanager
func WithChatsToSubscribe ¶
WithChatsToSubscribe allows initial subscribe for listed chats ID
func WithExtraAdmins ¶
WithExtraAdmins allows the specified additional user IDs to issue admin commands to the bot.
func WithLogger ¶
WithLogger sets the logger for the Bot as an option
func WithRevision ¶
WithRevision is setting the Bot's revision for status commands
func WithStartTime ¶
WithStartTime is setting the Bot's start time for status commands
func WithTemplates ¶
WithTemplates uses Alertmanager template to render messages for Telegram
func WithTranslation ¶
WithTranslation sets translation for Telegram messages
type ChatStore ¶
type ChatStore struct {
// contains filtered or unexported fields
}
ChatStore writes the users to a libkv store backend
func NewChatStore ¶
NewChatStore stores telegram chats in the provided kv backend