lib/bobot/page.rb in bobot-3.7.2 vs lib/bobot/page.rb in bobot-3.7.3
- old
+ new
@@ -88,10 +88,29 @@
},
to: to,
)
end
+ def send_youtube_video(url:, to: nil)
+ raise Bobot::FieldFormat.new('url is required') unless url.present?
+ raise Bobot::FieldFormat.new('url is not valid', url) unless url =~ %r{^(?:https?:\/\/)?(?:www\.)?youtu(?:\.be|be\.com)\/(?:watch\?v=)?([\w-]{10,})}
+ send(
+ payload_message: {
+ attachment: {
+ type: "template",
+ payload: {
+ template_type: "open_graph",
+ elements: [
+ { url: url },
+ ],
+ },
+ },
+ },
+ to: to,
+ )
+ end
+
def send_image(url:, to: nil)
send_attachment(url: url, type: 'image', to: to)
end
def send_audio(url:, to: nil)
@@ -218,13 +237,13 @@
else
greeting_text = I18n.t("bobot.#{slug}.config.greeting_text", locale: language, default: nil)
greeting_texts << { locale: 'default', text: greeting_text } if greeting_text.present?
end
if greeting_texts.present?
- greeting_texts.each do |greeting_text|
- if greeting_text[:text].present? && greeting_text[:text].size > 160
- raise Bobot::FieldFormat.new('greeting text for locale #{greeting_text[:locale]} is limited to 160.', "#{greeting_text[:text]} (#{greeting_text[:text].size} chars)")
+ greeting_texts.each do |row|
+ if row[:text].present? && row[:text].size > 160
+ raise Bobot::FieldFormat.new("greeting text for locale #{row[:locale]} is limited to 160.", "#{row[:text]} (#{row[:text].size} chars)")
end
end
Bobot::Profile.set(
body: { greeting: greeting_texts },
query: { access_token: page_access_token },
@@ -318,12 +337,12 @@
call_to_actions: persistent_menu[:call_to_actions],
}
end
end
if persistent_menus.present?
- persistent_menus.each do |persistent_menu|
- if persistent_menu[:title].present? && persistent_menu[:title].size > 30
- raise Bobot::FieldFormat.new('persistent menu text for locale #{persistent_menu[:locale]} is limited to 30.', "#{persistent_menu[:title]} (#{persistent_menu[:title].size} chars)")
+ persistent_menus.each do |row|
+ if row[:title].present? && row[:title].size > 30
+ raise Bobot::FieldFormat.new("persistent menu text for locale #{row[:locale]} is limited to 30.", "#{row[:title]} (#{row[:title].size} chars)")
end
end
Bobot::Profile.set(
body: { persistent_menu: persistent_menus },
query: { access_token: page_access_token },