diff options
author | href <href@random.sh> | 2020-03-11 21:18:34 +0100 |
---|---|---|
committer | href <href@random.sh> | 2020-03-11 21:18:34 +0100 |
commit | a28d24470ddeca6196219a1333c1ccac1319efef (patch) | |
tree | 4f29e3c8fb6afbb1f99d6b8737f844c95fca54df /lib/lsg_irc/base_plugin.ex | |
parent | up to 420*100 (diff) |
welp
Diffstat (limited to 'lib/lsg_irc/base_plugin.ex')
-rw-r--r-- | lib/lsg_irc/base_plugin.ex | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/lsg_irc/base_plugin.ex b/lib/lsg_irc/base_plugin.ex new file mode 100644 index 0000000..c0cfc59 --- /dev/null +++ b/lib/lsg_irc/base_plugin.ex @@ -0,0 +1,35 @@ +defmodule LSG.IRC.BasePlugin do + + def irc_doc, do: nil + + def start_link() do + GenServer.start_link(__MODULE__, []) + end + + def init([]) do + {:ok, _} = Registry.register(IRC.PubSub, "trigger:version", []) + {:ok, _} = Registry.register(IRC.PubSub, "trigger:help", []) + {:ok, nil} + end + + def handle_info({:irc, :trigger, "help", message = %{trigger: %{type: :bang}}}, _) do + url = LSGWeb.Router.Helpers.irc_url(LSGWeb.Endpoint, :index) + message.replyfun.(url) + {:noreply, nil} + end + + def handle_info({:irc, :trigger, "version", message = %{trigger: %{type: :bang}}}, _) do + {:ok, vsn} = :application.get_key(:lsg, :vsn) + ver = List.to_string(vsn) + url = LSGWeb.Router.Helpers.irc_url(LSGWeb.Endpoint, :index) + version = "v#{ver} ; #{url} ; source: https://git.yt/115ans/sys" + message.replyfun.(version) + {:noreply, nil} + end + + def handle_info(msg, _) do + {:noreply, nil} + end + +end + |