Module: RubyVibe::Calls::Messaging

Included in:
RubyVibe::Calls
Defined in:
lib/ruby_vibe/calls/messaging.rb

Instance Method Summary collapse

Instance Method Details

#broadcast_message(broadcast_list: [], text:, sender_name: nil, sender_avatar: nil, type: 'text', rich_media: nil, keyboard: nil) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/ruby_vibe/calls/messaging.rb', line 22

def broadcast_message(broadcast_list:[], text:, sender_name: nil, sender_avatar: nil, type: 'text', rich_media: nil, keyboard: nil)
  payload = {
    sender:{
       name: sender_name || RubyVibe.config.sender_name,
       avatar: sender_avatar || RubyVibe.config.sender_avatar
    },
   type: type,
    text: text,
    broadcast_list: broadcast_list,
  }

  payload.merge!({ rich_media: rich_media }) unless rich_media.nil?
  payload.merge!({ keyboard: keyboard }) unless keyboard.nil?

  client.action(RubyVibe::URLS::BROADCAST_MESSAGE, payload: payload)
end

#send_message(receiver:, text:, sender_name: nil, sender_avatar: nil, tracking_data: nil, type: 'text', keyboard: nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/ruby_vibe/calls/messaging.rb', line 5

def send_message(receiver:, text:, sender_name: nil, sender_avatar: nil, tracking_data: nil, type: 'text', keyboard: nil)
  payload = {
    receiver:receiver,
    sender:{
       name:sender_name || RubyVibe.config.sender_name,
       avatar:sender_avatar || RubyVibe.config.sender_avatar
    },
    tracking_data:tracking_data,
    type:type,
    text:text
  }.compact

  payload.merge!({ keyboard: keyboard }) unless keyboard.nil?

  client.action(RubyVibe::URLS::MESSAGE, payload: payload)
end