Class: Facebook::Messenger::Incoming::Message
- Inherits:
-
Object
- Object
- Facebook::Messenger::Incoming::Message
show all
- Includes:
- Common
- Defined in:
- lib/facebook/messenger/incoming/message.rb
Overview
The Message class represents an incoming Facebook Messenger message.
Constant Summary
collapse
- ATTACHMENT_TYPES =
%w[image audio video file location fallback].freeze
Instance Attribute Summary
Attributes included from Common
#messaging
Instance Method Summary
collapse
Methods included from Common
#access_token, #initialize, #mark_seen, #recipient, #reply, #sender, #sent_at, #typing_off, #typing_on
Instance Method Details
#app_id ⇒ Object
30
31
32
|
# File 'lib/facebook/messenger/incoming/message.rb', line 30
def app_id
@messaging['message']['app_id']
end
|
#attachment_type ⇒ Object
40
41
42
43
44
|
# File 'lib/facebook/messenger/incoming/message.rb', line 40
def attachment_type
return if attachments.nil?
attachments.first['type']
end
|
#attachment_url ⇒ Object
46
47
48
49
50
51
|
# File 'lib/facebook/messenger/incoming/message.rb', line 46
def attachment_url
return if attachments.nil?
return unless %w[image audio video file].include? attachment_type
attachments.first['payload']['url']
end
|
#attachments ⇒ Object
26
27
28
|
# File 'lib/facebook/messenger/incoming/message.rb', line 26
def attachments
@messaging['message']['attachments']
end
|
#echo? ⇒ Boolean
22
23
24
|
# File 'lib/facebook/messenger/incoming/message.rb', line 22
def echo?
@messaging['message']['is_echo']
end
|
#id ⇒ Object
10
11
12
|
# File 'lib/facebook/messenger/incoming/message.rb', line 10
def id
@messaging['message']['mid']
end
|
#location_coordinates ⇒ Object
53
54
55
56
57
58
|
# File 'lib/facebook/messenger/incoming/message.rb', line 53
def location_coordinates
return [] unless attachment_type?('location')
coordinates_data = attachments.first['payload']['coordinates']
[coordinates_data['lat'], coordinates_data['long']]
end
|
#quick_reply ⇒ Object
60
61
62
63
64
|
# File 'lib/facebook/messenger/incoming/message.rb', line 60
def quick_reply
return unless @messaging['message']['quick_reply']
@messaging['message']['quick_reply']['payload']
end
|
#seq ⇒ Object
14
15
16
|
# File 'lib/facebook/messenger/incoming/message.rb', line 14
def seq
@messaging['message']['seq']
end
|
#text ⇒ Object
18
19
20
|
# File 'lib/facebook/messenger/incoming/message.rb', line 18
def text
@messaging['message']['text']
end
|