Current section

Files

Jump to
virtuoso lib medium fb_messenger message.ex
Raw

lib/medium/fb_messenger/message.ex

defmodule Medium.FbMessenger.Message do
@moduledoc """
Handles message events from Facebook Messenger
"""
alias Virtuoso.Conversation
alias Virtuoso.Executive
alias Medium.FbMessenger.Translation
alias Medium.FbMessenger.Network
def received_message(%{"messaging" => [entry | _]}) do
sender_id = entry["sender"]["id"]
entry
|> Translation.translate_entry()
|> Conversation.received_message()
|> Executive.handles_message()
|> build_response(sender_id)
|> Network.send_messenger_response()
end
def build_response(text, sender_id) do
%{
"messaging_type" => "RESPONSE",
"recipient" => %{"id" => sender_id},
"message" => %{
"text" => text,
}
}
end
end