Current section

Files

Jump to
blur lib parsers command.ex
Raw

lib/parsers/command.ex

defmodule Blur.Parser.Command do
@moduledoc """
Parses messages for commands
"""
require Logger
def parse("!" <> command), do: command
def parse(_message), do: nil
def find(message, _user, channel) do
parse(message) |> translate(channel)
end
def translate(message, channel) do
message
|> translate_alias(Blur.Channel.aliases(channel))
|> translate_command(Blur.Channel.commands(channel))
end
def translate_alias(message, aliases) do
case alias?(message, aliases) do
true -> alias_to_command(message, aliases)
false -> message
end
end
def alias?(message, aliases) do
if aliases[message] do
true
else
false
end
end
def alias_to_command(message, aliases) do
aliases[message]
end
def translate_command(command, commands) do
commands[command]
end
end