diff --git a/telegram/inlinequeryresultphoto.py b/telegram/inlinequeryresultphoto.py index f9b6f94bc..bb8d147c1 100644 --- a/telegram/inlinequeryresultphoto.py +++ b/telegram/inlinequeryresultphoto.py @@ -20,96 +20,51 @@ """This module contains the classes that represent Telegram InlineQueryResultPhoto""" -from telegram import InlineQueryResult -from telegram.utils.validate import validate_string +from telegram import InlineQueryResult, InlineKeyboardMarkup, \ + InputMessageContent class InlineQueryResultPhoto(InlineQueryResult): - """This object represents a Telegram InlineQueryResultPhoto. - - Attributes: - id (str): - photo_url (str): - mime_type (str): - photo_width (int): - photo_height (int): - thumb_url (str): - title (str): - description (str): - caption (str): - message_text (str): - parse_mode (str): - disable_web_page_preview (bool): - - Args: - id (str): Unique identifier for this result, 1-64 Bytes - photo_url (str): - thumb_url (str): - - Keyword Args: - mime_type (Optional[str]): - photo_width (Optional[int]): - photo_height (Optional[int]): - title (Optional[str]): - description (Optional[str]): - caption (Optional[str]): - message_text (Optional[str]): - parse_mode (Optional[str]): - disable_web_page_preview (Optional[bool]): - """ - def __init__(self, id, photo_url, thumb_url, - mime_type=None, photo_width=None, photo_height=None, title=None, description=None, caption=None, - message_text=None, - parse_mode=None, - disable_web_page_preview=None, - **kwargs): - - validate_string(photo_url, 'photo_url') - validate_string(thumb_url, 'thumb_url') - validate_string(mime_type, 'mime_type') - validate_string(title, 'title') - validate_string(description, 'description') - validate_string(caption, 'caption') - validate_string(message_text, 'message_text') - validate_string(parse_mode, 'parse_mode') - + reply_markup=None, + input_message_content=None): # Required super(InlineQueryResultPhoto, self).__init__('photo', id) self.photo_url = photo_url self.thumb_url = thumb_url - # Optional - self.mime_type = mime_type - if photo_width is not None: + # Optionals + if photo_width: self.photo_width = int(photo_width) - if photo_height is not None: + if photo_height: self.photo_height = int(photo_height) - self.title = title - self.description = description - self.caption = caption - self.message_text = message_text - self.parse_mode = parse_mode - self.disable_web_page_preview = bool(disable_web_page_preview) + if title: + self.title = title + if description: + self.description = description + if caption: + self.caption = caption + if reply_markup: + self.reply_markup = reply_markup + if input_message_content: + self.input_message_content = input_message_content @staticmethod def de_json(data): - """ - Args: - data (dict): + data = super(InlineQueryResultPhoto, + InlineQueryResultPhoto).de_json(data) - Returns: - telegram.InlineQueryResultPhoto: - """ - if not data: - return None + data['reply_markup'] = InlineKeyboardMarkup.de_json( + data.get('reply_markup')) + data['input_message_content'] = InputMessageContent.de_json( + data.get('input_message_content')) return InlineQueryResultPhoto(**data)