def de_json(data): """ Args: data (dict): Returns: telegram.Message: """ if not data: return None data['from_user'] = User.de_json(data.get('from')) data['date'] = datetime.fromtimestamp(data['date']) data['chat'] = Chat.de_json(data.get('chat')) data['entities'] = MessageEntity.de_list(data.get('entities')) data['forward_from'] = User.de_json(data.get('forward_from')) data['forward_date'] = Message._fromtimestamp(data.get('forward_date')) data['reply_to_message'] = \ Message.de_json(data.get('reply_to_message')) data['audio'] = Audio.de_json(data.get('audio')) data['document'] = Document.de_json(data.get('document')) data['photo'] = PhotoSize.de_list(data.get('photo')) data['sticker'] = Sticker.de_json(data.get('sticker')) data['video'] = Video.de_json(data.get('video')) data['voice'] = Voice.de_json(data.get('voice')) data['contact'] = Contact.de_json(data.get('contact')) data['location'] = Location.de_json(data.get('location')) data['venue'] = Venue.de_json(data.get('venue')) data['new_chat_member'] = User.de_json(data.get('new_chat_member')) data['left_chat_member'] = User.de_json(data.get('left_chat_member')) data['new_chat_photo'] = PhotoSize.de_list(data.get('new_chat_photo')) data['pinned_message'] = Message.de_json(data.get('pinned_message')) return Message(**data)
def de_json(cls, data, bot): if not data: return None data = super(Message, cls).de_json(data, bot) data['from_user'] = User.de_json(data.get('from'), bot) data['date'] = from_timestamp(data['date']) data['chat'] = Chat.de_json(data.get('chat'), bot) data['entities'] = MessageEntity.de_list(data.get('entities'), bot) data['forward_from'] = User.de_json(data.get('forward_from'), bot) data['forward_from_chat'] = Chat.de_json(data.get('forward_from_chat'), bot) data['forward_date'] = from_timestamp(data.get('forward_date')) data['reply_to_message'] = Message.de_json(data.get('reply_to_message'), bot) data['edit_date'] = from_timestamp(data.get('edit_date')) data['audio'] = Audio.de_json(data.get('audio'), bot) data['document'] = Document.de_json(data.get('document'), bot) data['game'] = Game.de_json(data.get('game'), bot) data['photo'] = PhotoSize.de_list(data.get('photo'), bot) data['sticker'] = Sticker.de_json(data.get('sticker'), bot) data['video'] = Video.de_json(data.get('video'), bot) data['voice'] = Voice.de_json(data.get('voice'), bot) data['video_note'] = VideoNote.de_json(data.get('video_note'), bot) data['contact'] = Contact.de_json(data.get('contact'), bot) data['location'] = Location.de_json(data.get('location'), bot) data['venue'] = Venue.de_json(data.get('venue'), bot) data['new_chat_member'] = User.de_json(data.get('new_chat_member'), bot) data['new_chat_members'] = User.de_list(data.get('new_chat_members'), bot) data['left_chat_member'] = User.de_json(data.get('left_chat_member'), bot) data['new_chat_photo'] = PhotoSize.de_list(data.get('new_chat_photo'), bot) data['pinned_message'] = Message.de_json(data.get('pinned_message'), bot) data['invoice'] = Invoice.de_json(data.get('invoice'), bot) data['successful_payment'] = SuccessfulPayment.de_json(data.get('successful_payment'), bot) return cls(bot=bot, **data)
def de_json(data): """ Args: data (dict): Returns: telegram.Message: """ if not data: return None data['from_user'] = User.de_json(data.get('from')) data['date'] = datetime.fromtimestamp(data['date']) data['chat'] = Chat.de_json(data.get('chat')) data['entities'] = MessageEntity.de_list(data.get('entities')) data['forward_from'] = User.de_json(data.get('forward_from')) data['forward_from_chat'] = Chat.de_json(data.get('forward_from_chat')) data['forward_date'] = Message._fromtimestamp(data.get('forward_date')) data['reply_to_message'] = Message.de_json( data.get('reply_to_message')) data['audio'] = Audio.de_json(data.get('audio')) data['document'] = Document.de_json(data.get('document')) data['photo'] = PhotoSize.de_list(data.get('photo')) data['sticker'] = Sticker.de_json(data.get('sticker')) data['video'] = Video.de_json(data.get('video')) data['voice'] = Voice.de_json(data.get('voice')) data['contact'] = Contact.de_json(data.get('contact')) data['location'] = Location.de_json(data.get('location')) data['venue'] = Venue.de_json(data.get('venue')) data['new_chat_member'] = User.de_json(data.get('new_chat_member')) data['left_chat_member'] = User.de_json(data.get('left_chat_member')) data['new_chat_photo'] = PhotoSize.de_list(data.get('new_chat_photo')) data['pinned_message'] = Message.de_json(data.get('pinned_message')) return Message(**data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['ProximityAlertTriggered']: data = cls.parse_data(data) if not data: return None data['traveler'] = User.de_json(data.get('traveler'), bot) data['watcher'] = User.de_json(data.get('watcher'), bot) return cls(bot=bot, **data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['ProximityAlertTriggered']: """See :meth:`telegram.TelegramObject.de_json`.""" data = cls._parse_data(data) if not data: return None data['traveler'] = User.de_json(data.get('traveler'), bot) data['watcher'] = User.de_json(data.get('watcher'), bot) return cls(bot=bot, **data)
def de_json(data): """ Args: data (str): Returns: telegram.Message: """ if not data: return None data['from_user'] = User.de_json(data.get('from')) data['date'] = datetime.fromtimestamp(data['date']) if 'first_name' in data.get('chat', ''): data['chat'] = User.de_json(data.get('chat')) elif 'title' in data.get('chat', ''): data['chat'] = GroupChat.de_json(data.get('chat')) data['forward_from'] = \ User.de_json(data.get('forward_from')) data['forward_date'] = \ Message._fromtimestamp(data.get('forward_date')) data['reply_to_message'] = \ Message.de_json(data.get('reply_to_message')) data['audio'] = \ Audio.de_json(data.get('audio')) data['document'] = \ Document.de_json(data.get('document')) data['photo'] = \ PhotoSize.de_list(data.get('photo')) data['sticker'] = \ Sticker.de_json(data.get('sticker')) data['video'] = \ Video.de_json(data.get('video')) data['voice'] = \ Voice.de_json(data.get('voice')) data['contact'] = \ Contact.de_json(data.get('contact')) data['location'] = \ Location.de_json(data.get('location')) data['new_chat_participant'] = \ User.de_json(data.get('new_chat_participant')) data['left_chat_participant'] = \ User.de_json(data.get('left_chat_participant')) data['new_chat_photo'] = \ PhotoSize.de_list(data.get('new_chat_photo')) return Message(**data)
def de_json(data): """ Args: data (str): Returns: telegram.Message: """ if not data: return None data['from_user'] = User.de_json(data.get('from')) data['date'] = datetime.fromtimestamp(data['date']) if 'first_name' in data.get('chat', ''): data['chat'] = User.de_json(data.get('chat')) elif 'title' in data.get('chat', ''): data['chat'] = GroupChat.de_json(data.get('chat')) data['forward_from'] = \ User.de_json(data.get('forward_from')) data['forward_date'] = \ Message._fromtimestamp(data.get('forward_date')) data['reply_to_message'] = \ Message.de_json(data.get('reply_to_message')) data['audio'] = \ Audio.de_json(data.get('audio')) data['document'] = \ Document.de_json(data.get('document')) data['photo'] = \ PhotoSize.de_list(data.get('photo')) data['sticker'] = \ Sticker.de_json(data.get('sticker')) data['video'] = \ Video.de_json(data.get('video')) data['voice'] = \ Voice.de_json(data.get('voice')) data['contact'] = \ Contact.de_json(data.get('contact')) data['location'] = \ Location.de_json(data.get('location')) data['new_chat_participant'] = \ User.de_json(data.get('new_chat_participant')) data['left_chat_participant'] = \ User.de_json(data.get('left_chat_participant')) data['new_chat_photo'] = \ PhotoSize.de_list(data.get('new_chat_photo')) return Message(**data)
def de_json(data): if not data: return None data['from_user'] = User.de_json(data.get('from')) data['message'] = Message.de_json(data.get('message')) return CallbackQuery(**data)
def test_de_json(self, json_dict, bot): user = User.de_json(json_dict, bot) assert user.id == self.id assert user.first_name == self.first_name assert user.last_name == self.last_name assert user.username == self.username assert user.language_code == self.language_code
def de_json(data): if not data: return None data['from_user'] = User.de_json(data.get('from')) data['message'] = Message.de_json(data.get('message')) return CallbackQuery(**data)
def de_json(cls, data, bot): if not data: return None data = super(PollAnswer, cls).de_json(data, bot) data['user'] = User.de_json(data.get('user'), bot) return cls(**data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['GameHighScore']: data = cls.parse_data(data) if not data: return None data['user'] = User.de_json(data.get('user'), bot) return cls(**data)
def de_json(cls, data, bot): data = super(MessageEntity, cls).de_json(data, bot) if not data: return None data['user'] = User.de_json(data.get('user'), bot) return cls(**data)
def test_de_json(self, json_dict, bot): user = User.de_json(json_dict, bot) assert user.id == self.id assert user.is_bot == self.is_bot assert user.first_name == self.first_name assert user.last_name == self.last_name assert user.username == self.username assert user.language_code == self.language_code
def de_json(cls, data, bot): if not data: return None data = super(GameHighScore, cls).de_json(data, bot) data['user'] = User.de_json(data.get('user'), bot) return cls(**data)
def de_json(cls, data, bot): if not data: return None data = super(GameHighScore, cls).de_json(data, bot) data['user'] = User.de_json(data.get('user'), bot) return cls(**data)
def de_json(cls, data, bot): data = super(MessageEntity, cls).de_json(data, bot) if not data: return None data['user'] = User.de_json(data.get('user'), bot) return cls(**data)
def de_json(cls, data, bot): if not data: return None data = super(ChatMember, cls).de_json(data, bot) data['user'] = User.de_json(data.get('user'), bot) data['until_date'] = from_timestamp(data.get('until_date', None)) return cls(**data)
def get_chat_administrators(self, chat_id): ADMIN_JSON = { 'id': 1, 'first_name': 'X', 'is_bot': False, 'last_name': 'X', 'username': '******', 'language_code': 'en' } return [ChatMember(User.de_json(ADMIN_JSON, self), "administrator")]
def test_de_json_without_username(self, json_dict, bot): del json_dict['username'] user = User.de_json(json_dict, bot) assert user.id == self.id assert user.first_name == self.first_name assert user.last_name == self.last_name assert user.username is None assert user.language_code == self.language_code
def de_json(cls, data, bot): if not data: return None data = super(CallbackQuery, cls).de_json(data, bot) data['from_user'] = User.de_json(data.get('from'), bot) data['message'] = Message.de_json(data.get('message'), bot) return cls(bot=bot, **data)
def de_json(cls, data, bot): if not data: return None data = super().de_json(data, bot) data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(bot=bot, **data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['ShippingQuery']: data = cls.parse_data(data) if not data: return None data['from_user'] = User.de_json(data.pop('from'), bot) data['shipping_address'] = ShippingAddress.de_json(data.get('shipping_address'), bot) return cls(bot=bot, **data)
def de_json(cls, data, bot): if not data: return None data = super(PreCheckoutQuery, cls).de_json(data, bot) data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(**data)
def de_json(cls, data, bot): data = super(InlineQuery, cls).de_json(data, bot) if not data: return None data['from_user'] = User.de_json(data.get('from'), bot) data['location'] = Location.de_json(data.get('location'), bot) return cls(bot=bot, **data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['InlineQuery']: data = cls.parse_data(data) if not data: return None data['from_user'] = User.de_json(data.get('from'), bot) data['location'] = Location.de_json(data.get('location'), bot) return cls(bot=bot, **data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['PreCheckoutQuery']: data = cls.parse_data(data) if not data: return None data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(bot=bot, **data)
def de_json(cls, data, bot): if not data: return None data = super(ShippingQuery, cls).de_json(data, bot) data['from_user'] = User.de_json(data.pop('from'), bot) data['shipping_address'] = ShippingAddress.de_json(data.get('shipping_address'), bot) return cls(**data)
def de_json(cls, data, bot): data = super(InlineQuery, cls).de_json(data, bot) if not data: return None data['from_user'] = User.de_json(data.get('from'), bot) data['location'] = Location.de_json(data.get('location'), bot) return cls(bot=bot, **data)
def de_json(cls, data, bot): if not data: return None data = super(ShippingQuery, cls).de_json(data, bot) data['from_user'] = User.de_json(data.pop('from'), bot) data['shipping_address'] = ShippingAddress.de_json(data.get('shipping_address'), bot) return cls(**data)
def de_json(cls, data, bot): if not data: return None data = super(CallbackQuery, cls).de_json(data, bot) data['from_user'] = User.de_json(data.get('from'), bot) data['message'] = Message.de_json(data.get('message'), bot) return cls(bot=bot, **data)
def de_json(cls, data, bot): if not data: return None data = super(ChatMember, cls).de_json(data, bot) data['user'] = User.de_json(data.get('user'), bot) data['until_date'] = from_timestamp(data.get('until_date', None)) return cls(**data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['PollAnswer']: """See :meth:`telegram.TelegramObject.de_json`.""" data = cls._parse_data(data) if not data: return None data['user'] = User.de_json(data.get('user'), bot) return cls(**data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['ChatMember']: data = cls.parse_data(data) if not data: return None data['user'] = User.de_json(data.get('user'), bot) data['until_date'] = from_timestamp(data.get('until_date', None)) return cls(**data)
def de_json(cls, data, bot): if not data: return None data = super(PreCheckoutQuery, cls).de_json(data, bot) data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(**data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['CallbackQuery']: data = cls.parse_data(data) if not data: return None data['from_user'] = User.de_json(data.get('from'), bot) data['message'] = Message.de_json(data.get('message'), bot) return cls(bot=bot, **data)
def de_json(cls, data, bot): if not data: return None data = super(ChosenInlineResult, cls).de_json(data, bot) # Required data['from_user'] = User.de_json(data.pop('from'), bot) # Optionals data['location'] = Location.de_json(data.get('location'), bot) return cls(**data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['ChatInviteLink']: """See :meth:`telegram.TelegramObject.de_json`.""" data = cls._parse_data(data) if not data: return None data['creator'] = User.de_json(data.get('creator'), bot) data['expire_date'] = from_timestamp(data.get('expire_date', None)) return cls(**data)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['ChatInviteLink']: data = cls.parse_data(data) if not data: return None data['creator'] = User.de_json(data.get('creator'), bot) data['expire_date'] = from_timestamp(data.get('expire_date', None)) return cls(**data)
def de_json(cls, data, bot): if not data: return None data = super(ChosenInlineResult, cls).de_json(data, bot) # Required data['from_user'] = User.de_json(data.pop('from'), bot) # Optionals data['location'] = Location.de_json(data.get('location'), bot) return cls(**data)
def test_de_json_without_username(self, json_dict, bot): del json_dict['username'] user = User.de_json(json_dict, bot) assert user.id == self.id assert user.is_bot == self.is_bot assert user.first_name == self.first_name assert user.last_name == self.last_name assert user.username is None assert user.language_code == self.language_code
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['PreCheckoutQuery']: """See :meth:`telegram.TelegramObject.de_json`.""" data = cls._parse_data(data) if not data: return None data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return cls(bot=bot, **data)
def test_de_json(self, json_dict, bot): user = User.de_json(json_dict, bot) assert user.id == self.id_ assert user.is_bot == self.is_bot assert user.first_name == self.first_name assert user.last_name == self.last_name assert user.username == self.username assert user.language_code == self.language_code assert user.can_join_groups == self.can_join_groups assert user.can_read_all_group_messages == self.can_read_all_group_messages assert user.supports_inline_queries == self.supports_inline_queries
def getMe(self): """A simple method for testing your bot's auth token. Returns: A telegram.User instance representing that bot if the credentials are valid, None otherwise. """ url = "%s/getMe" % (self.base_url) json_data = self._requestUrl(url, "GET") data = self._parseAndCheckTelegram(json_data.decode()) return User.de_json(data)
def getMe(self): """A simple method for testing your bot's auth token. Returns: A telegram.User instance representing that bot if the credentials are valid, None otherwise. """ url = '%s/getMe' % self.base_url result = request.get(url) self.bot = User.de_json(result) return self.bot
def de_json(data): """ Args: data (dict): Returns: telegram.InlineQuery: """ if not data: return None data = data.copy() data['from_user'] = User.de_json(data.pop('from')) return InlineQuery(**data)
def de_json(data): """ Args: data (dict): Returns: telegram.ChatMember: """ if not data: return None data['user'] = User.de_json(data.get('user')) return ChatMember(**data)
def de_json(data): """ Args: data (dict): Returns: telegram.ChosenInlineResult: """ if not data: return None data = data.copy() data['from_user'] = User.de_json(data.pop('from')) return ChosenInlineResult(**data)
def de_json(data, bot): """ Args: data (dict): bot (telegram.Bot): Returns: telegram.Game: """ if not data: return None data['user'] = User.de_json(data.get('user'), bot) return GameHighScore(**data)
def de_json(data, bot): """ Args: data (dict): bot (telegram.Bot): Returns: telegram.ChatMember: """ if not data: return None data["user"] = User.de_json(data.get("user"), bot) return ChatMember(**data)
def de_json(data): """ Args: data (dict): Returns: telegram.InlineQuery: """ data = super(InlineQuery, InlineQuery).de_json(data) if not data: return None data['from_user'] = User.de_json(data.get('from')) data['location'] = Location.de_json(data.get('location')) return InlineQuery(**data)
def de_json(data, bot): """ Args: data (dict): bot (telegram.Bot): Returns: telegram.CallbackQuery: """ if not data: return None data['from_user'] = User.de_json(data.get('from'), bot) data['message'] = Message.de_json(data.get('message'), bot) return CallbackQuery(bot=bot, **data)
def de_json(data): """ Args: data (dict): Returns: telegram.ChosenInlineResult: """ if not data: return None # Required data['from_user'] = User.de_json(data.pop('from')) # Optionals data['location'] = Location.de_json(data.get('location')) return ChosenInlineResult(**data)
def de_json(data, bot): """ Args: data (dict): bot (telegram.Bot): Returns: telegram.ShippingQuery: """ if not data: return None data = super(ShippingQuery, ShippingQuery).de_json(data, bot) data['from_user'] = User.de_json(data.pop('from'), bot) data['shipping_address'] = ShippingAddress.de_json(data.get('shipping_address'), bot) return ShippingQuery(**data)
def de_json(data, bot): """ Args: data (dict): bot (telegram.Bot): Returns: telegram.PreCheckoutQuery: """ if not data: return None data = super(PreCheckoutQuery, PreCheckoutQuery).de_json(data, bot) data['from_user'] = User.de_json(data.pop('from'), bot) data['order_info'] = OrderInfo.de_json(data.get('order_info'), bot) return PreCheckoutQuery(**data)
def de_json(data, bot): """ Args: data (dict): bot (telegram.Bot): Returns: telegram.ChosenInlineResult: """ if not data: return None data = super(ChosenInlineResult, ChosenInlineResult).de_json(data, bot) # Required data['from_user'] = User.de_json(data.pop('from'), bot) # Optionals data['location'] = Location.de_json(data.get('location'), bot) return ChosenInlineResult(**data)
def getMe(self): """A simple method for testing your bot's auth token. Returns: :class:`telegram.User`: A :class:`telegram.User` instance representing that bot if the credentials are valid, `None` otherwise. Raises: :class:`telegram.TelegramError` """ url = '{0}/getMe'.format(self.base_url) result = request.get(url) self.bot = User.de_json(result) return self.bot
def de_json(data): if 'from' in data: # from is a reserved word, use from_user instead. from telegram import User from_user = User.de_json(data['from']) else: from_user = None if 'date' in data: date = datetime.fromtimestamp(data['date']) else: date = None if 'chat' in data: if 'first_name' in data['chat']: from telegram import User chat = User.de_json(data['chat']) if 'title' in data['chat']: from telegram import GroupChat chat = GroupChat.de_json(data['chat']) else: chat = None if 'forward_from' in data: from telegram import User forward_from = User.de_json(data['forward_from']) else: forward_from = None if 'forward_date' in data: forward_date = datetime.fromtimestamp(data['forward_date']) else: forward_date = None if 'reply_to_message' in data: reply_to_message = Message.de_json(data['reply_to_message']) else: reply_to_message = None if 'audio' in data: from telegram import Audio audio = Audio.de_json(data['audio']) else: audio = None if 'document' in data: from telegram import Document document = Document.de_json(data['document']) else: document = None if 'photo' in data: from telegram import PhotoSize photo = [PhotoSize.de_json(x) for x in data['photo']] else: photo = None if 'sticker' in data: from telegram import Sticker sticker = Sticker.de_json(data['sticker']) else: sticker = None if 'video' in data: from telegram import Video video = Video.de_json(data['video']) else: video = None if 'voice' in data: from telegram import Voice voice = Voice.de_json(data['voice']) else: voice = None if 'contact' in data: from telegram import Contact contact = Contact.de_json(data['contact']) else: contact = None if 'location' in data: from telegram import Location location = Location.de_json(data['location']) else: location = None if 'new_chat_participant' in data: from telegram import User new_chat_participant = User.de_json(data['new_chat_participant']) else: new_chat_participant = None if 'left_chat_participant' in data: from telegram import User left_chat_participant = User.de_json(data['left_chat_participant']) else: left_chat_participant = None if 'new_chat_photo' in data: from telegram import PhotoSize new_chat_photo = \ [PhotoSize.de_json(x) for x in data['new_chat_photo']] else: new_chat_photo = None return Message(message_id=data.get('message_id', None), from_user=from_user, date=date, chat=chat, forward_from=forward_from, forward_date=forward_date, reply_to_message=reply_to_message, text=data.get('text', ''), audio=audio, document=document, photo=photo, sticker=sticker, video=video, voice=voice, caption=data.get('caption', ''), contact=contact, location=location, new_chat_participant=new_chat_participant, left_chat_participant=left_chat_participant, new_chat_title=data.get('new_chat_title', None), new_chat_photo=new_chat_photo, delete_chat_photo=data.get('delete_chat_photo', None), group_chat_created=data.get('group_chat_created', None))
def de_json(data, bot): data = super(MessageEntity, MessageEntity).de_json(data, bot) data['user'] = User.de_json(data.get('user'), bot) return MessageEntity(**data)