aboutsummaryrefslogtreecommitdiff
path: root/lib/message.ex
blob: 1f3f08b1871676227bc269873f96eba2dbb670d6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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 validate(Message.t()) :: {:ok, String.t()} | :ignore
  def validate(%Message{
        content: @prefix <> rest,
        guild_id: guild_id,
        author: %User{
          bot: nil
        }
      })
      when guild_id != nil do
    {:ok, rest}
  end

  def validate(%Message{
        guild_id: guild_id,
        author: %User{
          username: username,
          bot: bot
        }
      })
      when guild_id != nil do
    {:ok, guild} = Api.get_guild(guild_id)

    Logger.debug(%{
      ignored: true,
      guild: guild.name,
      author: "#{username}# (bot: #{bot})"
    })

    :ignore
  end

  def validate(msg) do
    Logger.debug(%{validate: "unmatched validate", msg: msg})

    :ignore
  end
end