Remove router.ex and move behavior to Omnibot.Irc

Omnibot.Router was useful when it was used for actually routing
messages. However, its responsibilities have spread such that it's just
a single function at this point. So this single function has been moved
to Omnibot.Irc as a private function instead.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2020-06-13 18:11:18 -04:00
parent b1640a8c44
commit 91cdd9cae8
2 changed files with 7 additions and 49 deletions

View File

@@ -30,6 +30,12 @@ defmodule Omnibot.Irc do
def sync_channels(irc), do: GenServer.cast(irc, :sync_channels)
defp route_msg(irc, msg) do
channel = Msg.channel(msg)
State.channel_modules(channel)
|> Enum.each(fn {module, _} -> module.on_msg(irc, msg) end)
end
## Server callbacks
@impl true
@@ -91,7 +97,7 @@ defmodule Omnibot.Irc do
irc = self()
{:ok, _task} = Task.Supervisor.start_child(
Omnibot.RouterSupervisor,
fn -> Omnibot.Router.route(irc, msg) end
fn -> route_msg(irc, msg) end
)
{:noreply, socket}
end

View File

@@ -1,48 +0,0 @@
defmodule Omnibot.Router do
require Logger
alias Omnibot.{Irc.Msg, State}
def route(irc, msg) do
channel = Msg.channel(msg)
State.channel_modules(channel)
|> Enum.each(fn {module, _} -> module.on_msg(irc, msg) end)
end
#def handle(_irc, :privmsg, msg) do
# [channel | _params] = msg.params
# # Find modules that want this message
# State.cfg()
# |> Config.channel_modules(channel)
# |> Enum.each(fn {module, _} -> module.on_msg(msg) end)
#end
#def handle(_irc, :join, msg: %Msg {params: [channel | _]}) do
# State.cfg()
# |> Config.channel_modules(channel)
# |> Enum.each(fn {module, _} -> module.on_join(msg) end)
#end
#def handle(irc, :kick, msg: %Msg {params: [channel | _]}) do
# State.cfg()
# |> Config.channel_modules(channel)
# |> Enum.each(fn {module, _} -> module.on_kick(msg) end)
#end
#def handle(_irc, :part, %Msg {prefix: %Msg.Prefix{nick: nick}, params: [channel | _]}) do
# cfg = State.cfg()
# if nick == cfg.nick do
# State.remove_channel(State, channel)
# end
#end
#def handle(irc, :ping, msg) do
# cfg = State.cfg()
# reply = Config.msg(cfg, "PONG", msg.params)
# Irc.send_msg(irc, reply)
#end
#def handle(irc, :welcome, _msg) do
# Irc.sync_channels(irc)
#end
end