Documentation ¶
Index ¶
- Constants
- type Config
- type Diagnostic
- type HandlerConfig
- type Service
- func (s *Service) Alert(chatId, parseMode, message string, ...) error
- func (s *Service) Close() error
- func (s *Service) Global() bool
- func (s *Service) Handler(c HandlerConfig, ctx ...keyvalue.T) alert.Handler
- func (s *Service) Open() error
- func (s *Service) StateChangesOnly() bool
- func (s *Service) Test(options interface{}) error
- func (s *Service) TestOptions() interface{}
- func (s *Service) Update(newConfig []interface{}) error
Constants ¶
View Source
const DefaultTelegramLinksPreviewDisable = false
View Source
const DefaultTelegramNotificationDisable = false
View Source
const DefaultTelegramURL = "https://api.telegram.org/bot"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Whether Telegram integration is enabled. Enabled bool `toml:"enabled" override:"enabled"` // The Telegram Bot URL, should not need to be changed. URL string `toml:"url" override:"url"` // The Telegram Bot Token, can be obtained From @BotFather. Token string `toml:"token" override:"token,redact"` // The default channel, can be overridden per alert. ChatId string `toml:"chat-id" override:"chat-id"` // Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in your bot's message. ParseMode string `toml:"parse-mode" override:"parse-mode"` // Disables link previews for links in this message DisableWebPagePreview bool `toml:"disable-web-page-preview" override:"disable-web-page-preview"` // Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound. DisableNotification bool `toml:"disable-notification" override:"disable-notification"` // Whether all alerts should automatically post to Telegram Global bool `toml:"global" override:"global"` // Whether all alerts should automatically use stateChangesOnly mode. // Only applies if global is also set. StateChangesOnly bool `toml:"state-changes-only" override:"state-changes-only"` }
type Diagnostic ¶
type Diagnostic interface { WithContext(ctx ...keyvalue.T) Diagnostic Error(msg string, err error) }
type HandlerConfig ¶
type HandlerConfig struct { // Telegram user/group ID to post messages to. // If empty uses the chati-d from the configuration. ChatId string `mapstructure:"chat-id"` // Parse node, defaults to Mardown // If empty uses the parse-mode from the configuration. ParseMode string `mapstructure:"parse-mode"` // Web Page preview // If empty uses the disable-web-page-preview from the configuration. DisableWebPagePreview bool `mapstructure:"disable-web-page-preview"` // Disables Notification // If empty uses the disable-notification from the configuration. DisableNotification bool `mapstructure:"disable-notification"` }
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService(c Config, d Diagnostic) *Service
func (*Service) StateChangesOnly ¶
func (*Service) TestOptions ¶
func (s *Service) TestOptions() interface{}
Click to show internal directories.
Click to hide internal directories.