README

Shoutrrr

Notification library for gophers and their furry friends. Heavily inspired by caronc/apprise.

github actions workflow status codecov Codacy Badge report card go.dev reference github code size in bytes license godoc All Contributors



Quick Start

As a package

Using shoutrrr is easy! There is currently two ways of using it as a package.

Using the direct send command
  url := "slack://token-a/token-b/token-c"
  err := shoutrrr.Send(url, "Hello world (or slack channel) !")

Using a sender
  url := "slack://token-a/token-b/token-c"
  sender, err := shoutrrr.CreateSender(url)
  sender.Send("Hello world (or slack channel) !", map[string]string { /* ... */ })
Using a sender with multiple URLs
  urls := []string {
    "slack://token-a/token-b/token-c"
    "discord://token@channel"
  }
  sender, err := shoutrrr.CreateSender(urls...)
  sender.Send("Hello world (or slack channel) !", map[string]string { /* ... */ })
Through the CLI

Start by running the build.sh script. You may then run send notifications using the shoutrrr executable:

$ shoutrrr send [OPTIONS] <URL> <Message [...]>

Documentation

For additional details, visit the full documentation.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Amir Schnell

💻

nils måsén

💻 📖 🚧

Luka Peschke

💻 📖

MrLuje

💻 📖

Simon Aronsson

💻 📖 🚧

Arne Jørgensen

📖 💻

Alexei Tighineanu

💻

Alexandru Bonini

💻

Senan Kelly

💻

JonasPf

💻

claycooper

📖

This project follows the all-contributors specification. Contributions of any kind welcome!

  • watchtower - process for automating Docker container base image updates that uses shoutrrr for notifications
  • kured - kubernetes reboot daemon has adopted shoutrrr as their unified notification method starting with version 1.7.0.
Expand ▾ Collapse ▴

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateSender

func CreateSender(rawURLs ...string) (*router.ServiceRouter, error)

    CreateSender returns a notification sender configured according to the supplied URL

    func NewSender

    func NewSender(logger types.StdLogger, serviceURLs ...string) (*router.ServiceRouter, error)

      NewSender returns a notification sender, writing any log output to logger and configured to send to the services indicated by the supplied URLs

      func Send

      func Send(rawURL string, message string) error

        Send notifications using a supplied url and message

        func SetLogger

        func SetLogger(logger types.StdLogger)

          SetLogger sets the logger that the services will use to write progress logs

          Types

          This section is empty.

          Source Files