❤️ 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)
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:
- Linear
- Mailgun
- Microsoft Teams
- SendGrid
- Plivo
- Telegram
- Zulip
- Rocket.Chat
- Google Chat
- Mattermost
Notifiex supports uploading files (text-based, binaries, etc.) to:
- Slack
- Discord
Notifiex is licensed under the MIT License.
notifiex is inspired by ravenx. Please do check out their project!