diff options
Diffstat (limited to 'lib/message.ex')
| -rw-r--r-- | lib/message.ex | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/lib/message.ex b/lib/message.ex new file mode 100644 index 0000000..f04e1e7 --- /dev/null +++ b/lib/message.ex @@ -0,0 +1,47 @@ +require Logger + +alias Nostrum.Struct.Message +alias Nostrum.Struct.User +alias Nostrum.Api + +defmodule Thulani.Message do + @prefix Application.compile_env(:thulani, :prefix, "!thulani") + + @spec message(Message.t()) :: {:ok, String.t()} | :ignore + def message(%Message{ + content: @prefix <> rest, + guild_id: guild_id, + author: %User{ + bot: nil + } + }) + when guild_id != nil do + {:ok, rest} + end + + def message(%Message{ + guild_id: guild_id, + author: %User{ + username: username, + discriminator: discriminator, + bot: bot + } + }) + when guild_id != nil do + {:ok, guild} = Api.get_guild(guild_id) + + Logger.debug(%{ + ignored: true, + guild: guild.name, + author: "#{username}##{discriminator} (bot: #{bot})" + }) + + :ignore + end + + def message(msg) do + Logger.debug(%{message: "unmatched message", msg: msg}) + + :ignore + end +end |
