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