aboutsummaryrefslogtreecommitdiff
path: root/lib/consumer.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/consumer.ex')
-rw-r--r--lib/consumer.ex25
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