1
0
mirror of https://github.com/nikoksr/notify.git synced 2024-12-02 08:51:50 +02:00
A dead simple Go library for sending notifications to various messaging services.
Go to file
Niko Köser 72db01ff78
ci(docs): drop changelog generating action
I sadly don't have the time to fiddle around with this action. Even
though I'd love it to be running and auto-generating changelogs, I want
to use my spare time on notify efficiently and I don't think that this
task here has priority right now. I might be coming back to this later.

For now, changelogs must be generated manually.
2022-02-07 08:02:53 +01:00
.github ci(docs): drop changelog generating action 2022-02-07 08:02:53 +01:00
assets [ImgBot] Optimize images 2021-04-27 05:47:17 +00:00
service [fix] lint error 2022-02-06 20:36:09 +07:00
.cliff.toml ci(docs): add git-cliff config 2022-02-06 15:46:04 +01:00
.codacy.yml ci(codacy): reintroduce config for readme badge 2021-11-18 19:26:19 +01:00
.editorconfig feat: init project 2021-01-25 00:14:21 +01:00
.gitignore feat: init project 2021-01-25 00:14:21 +01:00
.golangci.yml build(lint): replaced deprecated linter 2021-05-26 14:14:05 +02:00
.kodiak.toml build(kodiak): remove deprecated config option 2021-01-31 15:03:56 +01:00
CODE_OF_CONDUCT.md docs: add readme, coc, and contrib guidelines 2021-01-25 05:05:59 +01:00
CONTRIBUTING.md docs(contrib): update contribution guidelines 2021-01-31 15:02:45 +01:00
go.mod Merge branch 'main' of https://github.com/nikoksr/notify into add-line-notify-service 2022-02-05 19:51:44 +07:00
go.sum Merge branch 'main' of https://github.com/nikoksr/notify into add-line-notify-service 2022-02-05 19:46:52 +07:00
LICENSE feat: init project 2021-01-25 00:14:21 +01:00
Makefile build(make): fix linter command and add implicit install commands 2022-02-07 07:41:27 +01:00
notifier.go refactor(send): Add context.Context to parameter list of Send method 2021-02-18 03:33:30 +01:00
notify.go chore(generate): remove go generate directives for installing deps 2021-05-27 12:45:07 +02:00
README.md [revise] add line notify 2022-01-23 18:32:08 +07:00
renovate.json ci(deps): remove dependabot and extend renovate config 2021-08-14 00:42:14 +02:00
send.go refactor(send): Add context.Context to parameter list of Send method 2021-02-18 03:33:30 +01:00
use.go refactor(use): simplify useService function 2021-02-10 14:52:09 +01:00

notify logo

GitHub tag (latest SemVer) Go Report Card Codacy Badge Maintainability FOSSA Status go.dev reference

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

About

Notify was born out of my own need to have my API servers running in production be able to notify me when critical errors occur. Of course, Notify can be used for any other purpose as well. The library is kept as simple as possible for quick integration and ease of use.

Disclaimer

Any misuse of this library is your own liability and responsibility and cannot be attributed to the authors of this library. See license for more.

Spamming through the use of this library may get you permanently banned on most supported platforms.

Install

go get -u github.com/nikoksr/notify

Example usage

// 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?
telegramService.AddReceivers(-1234567890)

// Create our notifications distributor.
notifier := notify.New()

// 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.
// Inspired by http middlewares used in higher level libraries.
notifier.UseServices(telegramService)

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

Supported services

Please create feature requests for missing services (see #3 for example)

  • Amazon SES
  • Discord
  • Email
  • Line & Line Notify
  • Mailgun
  • Microsoft Teams
  • Plivo
  • Pushbullet
  • RocketChat
  • SendGrid
  • Slack
  • Telegram
  • TextMagic
  • Twitter
  • WeChat
  • WhatsApp

Credits

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 you like this project!

License

FOSSA Status