A dead simple Elixir library for sending notifications to various messaging services. (supports file uploads, multiple notification dispatching, and much more! ✨)
❤️ If you're using Notifiex for your project, or in your company, please say a hi 👋 here!
Why Notifiex?
Notifiex can be installed
by adding notifiex
to your list of dependencies in mix.exs
:
def deps do
[
{:notifiex, "~> 1.2.0"}
]
end
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)
Notifiex currently supports these services:
📢 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:
Notifiex supports uploading files (text-based, binaries, etc.) to:
Notifiex is licensed under the MIT License.
notifiex is inspired by ravenx. Please do check out their project!