A dead simple Go library for sending notifications to various messaging services.
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.
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.
go get -u github.com/nikoksr/notify
// 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! :)",
)
Please create feature requests for missing services (see #3 for example)
- Amazon SES
- Discord
- Line & Line Notify
- Mailgun
- Microsoft Teams
- Plivo
- Pushbullet
- RocketChat
- SendGrid
- Slack
- Telegram
- TextMagic
- Amazon SES support: aws/aws-sdk-go
- Discord support: bwmarrin/discordgo
- Email support: jordan-wright/email
- Line support: line/line-bot-sdk-go
- Line Notify support: utahta/go-linenotify
- Logo: MariaLetta/free-gophers-pack
- Mailgun support: mailgun/mailgun-go
- Microsoft Teams support: atc0005/go-teams-notify
- Plivo support: plivo/plivo-go
- Pushbullet support: cschomburg/go-pushbullet
- RocketChat Support: RocketChat/Rocket.Chat.Go.SDK
- SendGrid support: sendgrid/sendgrid-go
- Slack support: slack-go/slack
- Telegram support: go-telegram-bot-api/telegram-bot-api
- TextMagic support: textmagic/textmagic-rest-go-v2
- Twitter: dghubble/go-twitter
- WeChat: silenceper/wechat
- WhatsApp: Rhymen/go-whatsapp
Niko Köser
Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.
Give a ⭐️ if you like this project!