Notifiex Save

A dead simple Elixir library for sending notifications to various messaging services. (supports file uploads, multiple notification dispatching, and much more! ✨)

Project 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

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

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

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

Notifiex currently supports these services:

  • Slack (check guide 📖)
  • Discord (check guide 📖)

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

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

  • Slack
  • Discord

License

Notifiex is licensed under the MIT License.

Acknowledgements

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

Open Source Agenda is not affiliated with "Notifiex" Project. README Source: notifiex/notifiex
Stars
66
Open Issues
5
Last Commit
2 months ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating