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
|
# File 'lib/chat_sdk/twilio/event_parser.rb', line 7
def parse(params)
return [] unless params.is_a?(Hash) && params["MessageSid"]
author = ChatSDK::Author.new(
id: params["From"] || "unknown",
name: params["From"] || "unknown",
platform: :twilio,
bot: false
)
attachments = (params)
text = params["Body"] || ""
text = "#{text}\n#{attachments.map { |a| a[:url] }.join("\n")}" if attachments.any? && !text.empty?
text = attachments.map { |a| a[:url] }.join("\n") if attachments.any? && (params["Body"].nil? || params["Body"].empty?)
msg = ChatSDK::Message.new(
id: params["MessageSid"],
text: text,
author: author,
thread_id: params["MessageSid"],
channel_id: params["To"] || "unknown",
platform: :twilio,
raw: params
)
[ChatSDK::Events::DirectMessage.new(
message: msg,
thread_id: params["MessageSid"],
channel_id: params["To"] || "unknown",
platform: :twilio,
adapter_name: :twilio,
raw: params
)]
end
|