Skip to content

notifiex/notifiex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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!

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages