2021-01-26 11:45:14 +02:00
< div align = "center" >
< img
width=40%
src="assets/gopher-letter.svg"
alt="notify logo"
/>
![GitHub tag (latest SemVer) ](https://img.shields.io/github/v/tag/nikoksr/notify?color=success&label=version&sort=semver )
[![Go Report Card ](https://goreportcard.com/badge/github.com/nikoksr/notify )](https://goreportcard.com/report/github.com/nikoksr/notify)
2021-01-26 11:54:06 +02:00
[![Codacy Badge ](https://app.codacy.com/project/badge/Grade/37fdff3c275c4a72a3a061f2d0ec5553 )](https://www.codacy.com/gh/nikoksr/notify/dashboard?utm_source=github.com& utm_medium=referral& utm_content=nikoksr/notify& utm_campaign=Badge_Grade)
2021-01-26 11:45:14 +02:00
[![Maintainability ](https://api.codeclimate.com/v1/badges/b3afd7bf115341995077/maintainability )](https://codeclimate.com/github/nikoksr/notify/maintainability)
2021-02-01 08:50:37 +02:00
[![FOSSA Status ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fnikoksr%2Fnotify.svg?type=shield )](https://app.fossa.com/projects/git%2Bgithub.com%2Fnikoksr%2Fnotify?ref=badge_shield)
2021-01-26 11:45:14 +02:00
[![go.dev reference ](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat )](https://pkg.go.dev/github.com/nikoksr/notify)
< / div >
2021-01-26 12:39:02 +02:00
> <p align="center">A dead simple Go library for sending notifications to various messaging services.</p>
2021-01-26 11:45:14 +02:00
< h1 > < / h1 >
## About <a id="about"></a>
*Notify* arose from my own need for one of my api server running in production to be able to notify me when, for example, an error occurred. The library is kept as simple as possible to allow a quick integration and easy usage.
## Disclaimer <a id="disclaimer"></a>
Any misuse of this library is your own liability and responsibility and cannot be attributed to the authors of this library. See [license ](LICENSE ) for more.
Spamming through the use of this library **may get you permanently banned** on most supported platforms.
## Install <a id="install"></a>
2021-01-25 06:05:59 +02:00
```sh
go get -u github.com/nikoksr/notify
```
2021-01-26 11:45:14 +02:00
## Example usage <a id="usage"></a>
2021-01-25 06:05:59 +02:00
```go
// 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?
2021-01-30 23:21:24 +02:00
telegramService.AddReceivers("-1234567890")
2021-01-25 06:05:59 +02:00
// 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.
2021-02-06 11:20:21 +02:00
notifier.UseServices(telegramService)
2021-01-25 06:05:59 +02:00
// Send a test message
2021-01-25 06:16:08 +02:00
_ = notifier.Send(
2021-01-25 06:05:59 +02:00
"Message Subject/Title",
"The actual message. Hello, you awesome gophers! :)",
)
```
2021-01-26 12:31:14 +02:00
## Supported services <a id="supported_services"></a>
- *Discord*
- *Email*
2021-01-29 20:26:10 +02:00
- *Microsoft Teams*
2021-01-27 02:09:54 +02:00
- *Slack*
2021-01-31 00:11:33 +02:00
- *Twitter*
2021-01-29 20:26:10 +02:00
- *Telegram*
2021-02-01 12:26:59 +02:00
- *Pushbullet*
2021-01-26 12:31:14 +02:00
2021-01-26 11:45:14 +02:00
## Roadmap <a id="roadmap"></a>
2021-01-25 06:05:59 +02:00
2021-01-26 12:39:02 +02:00
- [ ] Add tests (see [#1 ](https://github.com/nikoksr/notify/issues/1 ))
2021-01-26 11:45:14 +02:00
- [ ] Add more notification services
2021-01-25 06:05:59 +02:00
2021-01-26 11:45:14 +02:00
## Credits <a id="credits"></a>
2021-01-25 06:05:59 +02:00
2021-01-26 12:31:14 +02:00
- Discord support: [bwmarrin/discordgo ](https://github.com/bwmarrin/discordgo )
- Email support: [jordan-wright/email ](https://github.com/jordan-wright/email )
2021-01-29 20:26:10 +02:00
- Microsoft Teams support: [atc0005/go-teams-notify ](https://github.com/atc0005/go-teams-notify )
2021-01-27 02:09:54 +02:00
- Slack support: [slack-go/slack ](https://github.com/slack-go/slack )
2021-01-29 20:26:10 +02:00
- Telegram support: [go-telegram-bot-api/telegram-bot-api ](https://github.com/go-telegram-bot-api/telegram-bot-api )
2021-02-01 15:51:18 +02:00
- Pushbullet support: [cschomburg/go-pushbullet ](https://github.com/cschomburg/go-pushbullet )
2021-01-26 11:45:14 +02:00
- Logo: [MariaLetta/free-gophers-pack ](https://github.com/MariaLetta/free-gophers-pack )
2021-01-31 14:17:17 +02:00
- Twitter: [dghubble/go-twitter/twitter ](https://github.com/dghubble/go-twitter/twitter )
2021-01-25 06:05:59 +02:00
2021-01-26 11:45:14 +02:00
## Author <a id="author"></a>
2021-01-25 06:05:59 +02:00
2021-01-26 11:45:14 +02:00
**Niko Köser**
2021-01-25 06:05:59 +02:00
* Twitter: [@nikoksr ](https://twitter.com/nikoksr )
* Github: [@nikoksr ](https://github.com/nikoksr )
2021-01-26 11:45:14 +02:00
## Contributing <a id="contributing"></a>
2021-01-25 06:05:59 +02:00
Contributions, issues and feature requests are welcome!< br /> Feel free to check [issues page ](https://github.com/nikoksr/notify/issues ). You can also take a look at the [contributing guide ](https://github.com/nikoksr/notify/blob/main/CONTRIBUTING.md ).
2021-01-26 11:45:14 +02:00
## Show your support <a id="support"></a>
2021-01-25 06:05:59 +02:00
Give a ⭐️ if this project helped you!
2021-02-01 08:50:37 +02:00
## License <a id="license"></a>
[![FOSSA Status ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fnikoksr%2Fnotify.svg?type=large )](https://app.fossa.com/projects/git%2Bgithub.com%2Fnikoksr%2Fnotify?ref=badge_large)