โค๏ธ 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"}
]
endUsage
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:
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
- 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!