View Source README

Hex Actions status

โค๏ธ If you're using Notifiex for your project, or in your company, please say a hi ๐Ÿ‘‹ here!

Why Notifiex?

  • ๐Ÿ“ฆ Easy-to-use, supports multiple services!
  • โฌ†๏ธ File upload support! (to the notification services that will accept them)
  • โšก Incredibly lightweight (minimal dependencies)
  • ๐Ÿคน Asynchronous notification dispatching (using Tasks and Supervisor)

Table of Contents:

installation

Installation

Notifiex can be installed by adding notifiex to your list of dependencies in mix.exs:

def deps do
  [
    {:notifiex, "~> 1.2.0"}
  ]
end

usage

Usage

Here is an example on how Notifiex sends a Slack message:

> Notifiex.send(:slack, %{text: "Notifiex is cool! ๐Ÿš€", channel: "general"},  %{token: "SECRET"})

Sending a Discord message:

> Notifiex.send(:discord, %{content: "Notifiex is cool! ๐Ÿš€"},  %{webhook: "SECRET"})

Sending in async mode (through Tasks and Supervisors):

> Notifiex.send_async(:discord, %{content: "Notifiex is cool! ๐Ÿš€"},  %{webhook: "SECRET"})

Sending multiple messages:

notifs = [
  slack_test: {:slack, %{text: "Notifiex is cool! ๐Ÿš€", channel: "general"},  %{token: "SECRET"}},
  discord_test: {:discord, %{content: "Notifiex is cool! ๐Ÿš€"},  %{webhook: "SECRET"}}
]

# send synchronously
Notifiex.send_multiple(notifs)

# send in async mode
Notifiex.send_async_multiple(notifs)

services

Services

Notifiex currently supports these services:

  • [x] Slack (check guide ๐Ÿ“–)
  • [x] Discord (check guide ๐Ÿ“–)

plugins

Plugins

๐Ÿ“ข Notifiex now supports custom plugins! Here's a complete guide on creating and using plugins!

As a starter, you can create a plugin for any of these services:

  • [ ] Linear
  • [ ] Mailgun
  • [ ] Microsoft Teams
  • [ ] SendGrid
  • [ ] Plivo
  • [ ] Telegram
  • [ ] Twitter
  • [ ] Zulip
  • [ ] Rocket.Chat
  • [ ] Google Chat
  • [ ] Mattermost

file-uploads

File Uploads

Notifiex supports uploading files (text-based, binaries, etc.) to:

  • [x] Slack
  • [ ] Discord

license

License

Notifiex is licensed under the MIT License.

acknowledgements

Acknowledgements

notifiex is inspired by ravenx. Please do check out their project!