def create_message(text, phone_number): if emojis_for_emoticons.get(text, None) or text_contains_emoji(text): return EmojiRequest(text, phone_number) if Secrets.get_secret(text): return SecretRequest(text, phone_number) return None
def create_reply(self): message = "" text = self.text text = text.strip() if text_contains_emoji(text): emoji = text else: emoji = emojis_for_emoticons.get(text, None) if not emoji: raise RuntimeError("Improperly identified message type") # If it's a multi-emoji that we don't track, just grab the first emoji. # TODO: abstract out use of `keys()`. if len(emoji) > 1 and emoji not in google_spreadsheets.keys(): emoji = text[0] # Check for skin-toned emojis. # (This only handles the one-emoji case for now.) if not emoji_contains_skin_tone(text) and not emoji_is_numeric(text): message = render_template('txt/requested_emoji_does_not_exist.txt', requested_emoji=text, fallback_emoji=emoji) # Time to grab the filepath for the emoji! corgi_urls = api.get(emoji)['results'] # If that still doesn't work, we'll just grab a random one. if not corgi_urls: logger.warn("Couldn't find corgi for {}. Using random one.".format( emoji)) while not corgi_urls: results = api.get() emoji, corgi_urls = results['emoji'], results['results'] message = render_template('txt/requested_emoji_does_not_exist.txt', requested_emoji=text, fallback_emoji=emoji) corgi_url = random.choice(corgi_urls) if message == "": supplements = get_supplement_messsage(self.phone_number, self.text) if supplements: message = supplements return create_response(message, image_url=corgi_url)