summaryrefslogtreecommitdiff
path: root/lib/nola_plugins/user_mention_plugin.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nola_plugins/user_mention_plugin.ex')
-rw-r--r--lib/nola_plugins/user_mention_plugin.ex52
1 files changed, 0 insertions, 52 deletions
diff --git a/lib/nola_plugins/user_mention_plugin.ex b/lib/nola_plugins/user_mention_plugin.ex
deleted file mode 100644
index eb230fd..0000000
--- a/lib/nola_plugins/user_mention_plugin.ex
+++ /dev/null
@@ -1,52 +0,0 @@
-defmodule Nola.IRC.UserMentionPlugin do
- @moduledoc """
- # mention
-
- * **@`<nick>` `<message>`**: notifie si possible le nick immédiatement via Telegram, SMS, ou équivalent à `!tell`.
- """
-
- require Logger
-
- def short_irc_doc, do: false
- def irc_doc, do: @moduledoc
-
- def start_link() do
- GenServer.start_link(__MODULE__, [], name: __MODULE__)
- end
-
- def init(_) do
- {:ok, _} = Registry.register(IRC.PubSub, "triggers", plugin: __MODULE__)
- {:ok, nil}
- end
-
- def handle_info({:irc, :trigger, nick, message = %IRC.Message{sender: sender, account: account, network: network, channel: channel, trigger: %IRC.Trigger{type: :at, args: content}}}, state) do
- nick = nick
- |> String.trim(":")
- |> String.trim(",")
- target = IRC.Account.find_always_by_nick(network, channel, nick)
- if target do
- telegram = IRC.Account.get_meta(target, "telegram-id")
- sms = IRC.Account.get_meta(target, "sms-number")
- text = "#{channel} <#{sender.nick}> #{Enum.join(content, " ")}"
-
- cond do
- telegram ->
- Nola.Telegram.send_message(telegram, "`#{channel}` <**#{sender.nick}**> #{Enum.join(content, " ")}")
- sms ->
- case Nola.IRC.SmsPlugin.send_sms(sms, text) do
- {:error, code} -> message.replyfun("#{sender.nick}: erreur #{code} (sms)")
- end
- true ->
- Nola.IRC.TellPlugin.tell(message, nick, content)
- end
- else
- message.replyfun.("#{nick} m'est inconnu")
- end
- {:noreply, state}
- end
-
- def handle_info(_, state) do
- {:noreply, state}
- end
-
-end