notify

package module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2021 License: MIT Imports: 3 Imported by: 43

README

Welcome to notify (WIP) 👋

GitHub tag (latest SemVer) Lines of code

A dead simple Go library for sending notifications to various messaging platforms.

Install

go get -u github.com/nikoksr/notify

Example usage

// The notifier we're gonna send our messages to
notifier := notify.New()

// Create a telegram service. Ignoring error for demo simplicity
telegramService, _ := telegram.New("your_telegram_api_token")

// Passing a telegram chat id as receiver for our messages.
// Basically where should our message be sent to?
telegramService.AddReceivers(-1234567890)

// Tell our notifier to use the telegram service. You can repeat the above process
// for as many services as you like and just tell the notifier to use them.
// Its kinda like using middlewares for api servers.
notifier.UseService(telegramService)

// Send a test message
_ = notifier.Send(
	"Message Subject/Title",
	"The actual message. Hello, you awesome gophers! :)",
)

Roadmap

  • Add tests
  • Add more notification services

Libraries in use

Author

👤 Niko Köser

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrSendNotification = errors.New("Send notification")

ErrSendNotification signals that the notifier failed to send a notification.

Functions

This section is empty.

Types

type Notifier

type Notifier interface {
	Send(string, string) error
}

Notifier defines the behavior for notification services. The Send command simply sends a message string to the internal destination Notifier. E.g for telegram it sends the message to the specified group chat.

type Notify

type Notify struct {
	Disabled bool
	// contains filtered or unexported fields
}

Notify is the central struct for managing notification services and sending messages to them.

func New

func New() *Notify

New returns a new instance of Notify. Defaulting to being not disabled and using the pseudo notification service under the hood.

func (Notify) Send

func (n Notify) Send(subject, message string) error

Send calls the underlying notification services to send the given message to their respective endpoints.

func (*Notify) UseService

func (n *Notify) UseService(service Notifier)

UseService adds a given service to the notifiers services list.

Directories

Path Synopsis
service

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL