diff options
Diffstat (limited to 'lib/consumer.ex')
| -rw-r--r-- | lib/consumer.ex | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/consumer.ex b/lib/consumer.ex new file mode 100644 index 0000000..ace0ba8 --- /dev/null +++ b/lib/consumer.ex @@ -0,0 +1,25 @@ +require Logger +require OK + +alias Nostrum.Api + +defmodule Thulani.Consumer do + use Nostrum.Consumer + + def start_link do + Logger.info('starting consumer') + Nostrum.Consumer.start_link(__MODULE__) + end + + @spec handle_event(Nostrum.Consumer.message_create()) :: nil + def handle_event({:MESSAGE_CREATE, message, _ws_state}) do + case Thulani.Message.message(message) do + {:ok, content} -> Api.create_message!(message.channel_id, content) + :ignore -> nil + end + + nil + end + + def handle_event(_event), do: :noop +end |
