diff --git a/app/models/bot/smooch.rb b/app/models/bot/smooch.rb index f63a200c4..765a8363c 100644 --- a/app/models/bot/smooch.rb +++ b/app/models/bot/smooch.rb @@ -1,5 +1,4 @@ require 'digest' -require 'uri' class Bot::Smooch < BotUser class MessageDeliveryError < StandardError; end @@ -546,7 +545,7 @@ def self.is_a_shortcut_for_submission?(state, message) self.is_v2? && (state == 'main' || state == 'waiting_for_message') && ( !message['mediaUrl'].blank? || ::Bot::Alegre.get_number_of_words(message['text'].to_s) > CheckConfig.get('min_number_of_words_for_tipline_submit_shortcut', 10, :integer) || - !URI.regexp.match(message['text'].to_s).nil? # URL in message? + !Twitter::TwitterText::Extractor.extract_urls(message['text'].to_s).blank? # URL in message? ) end diff --git a/test/models/bot/smooch_test.rb b/test/models/bot/smooch_test.rb index ee1a0eef8..f82515454 100644 --- a/test/models/bot/smooch_test.rb +++ b/test/models/bot/smooch_test.rb @@ -806,6 +806,10 @@ def teardown message = {"text"=>"abc", "mediaUrl"=>"not blank"} assert_equal(true, Bot::Smooch.is_a_shortcut_for_submission?(state,message), "Missed media shortcut") + # Should be a submission shortcut + message = {"text"=>"abc example.com"} + assert_equal(true, Bot::Smooch.is_a_shortcut_for_submission?(state,message), "Missed non-qualified URL shortcut") + Bot::Smooch.unstub(:is_v2?) end end