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(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["VideoChatParticipantsInvited"]: """See :meth:`telegram.TelegramObject.de_json`.""" data = cls._parse_data(data) if not data: return None data["users"] = User.de_list(data.get("users", []), 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["InlineQuery"]: """See :meth:`telegram.TelegramObject.de_json`.""" 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"]: """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 de_json(cls, data: Optional[JSONDict], bot: "Bot") -> Optional["CallbackQuery"]: """See :meth:`telegram.TelegramObject.de_json`.""" 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: Optional[JSONDict], bot: "Bot") -> Optional["ShippingQuery"]: """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["shipping_address"] = ShippingAddress.de_json( data.get("shipping_address"), bot) return cls(bot=bot, **data)
def de_json(cls, data: Optional[JSONDict], bot: "Bot") -> Optional["ChosenInlineResult"]: """See :meth:`telegram.TelegramObject.de_json`.""" data = cls._parse_data(data) if not data: return None # 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["ChatMemberUpdated"]: """See :meth:`telegram.TelegramObject.de_json`.""" data = cls._parse_data(data) if not data: return None data["chat"] = Chat.de_json(data.get("chat"), bot) data["from_user"] = User.de_json(data.get("from"), bot) data["date"] = from_timestamp(data.get("date")) data["old_chat_member"] = ChatMember.de_json(data.get("old_chat_member"), bot) data["new_chat_member"] = ChatMember.de_json(data.get("new_chat_member"), bot) data["invite_link"] = ChatInviteLink.de_json(data.get("invite_link"), bot) return cls(**data)
def de_json(cls, data: Optional[JSONDict], bot: "Bot") -> Optional["ChatJoinRequest"]: """See :meth:`telegram.TelegramObject.de_json`.""" data = cls._parse_data(data) if not data: return None data["chat"] = Chat.de_json(data.get("chat"), bot) data["from_user"] = User.de_json(data.get("from"), bot) data["date"] = from_timestamp(data.get("date", None)) data["invite_link"] = ChatInviteLink.de_json(data.get("invite_link"), bot) return cls(bot=bot, **data)
def de_json(cls, data: Optional[JSONDict], bot: "Bot") -> Optional["ChatMember"]: """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) data["until_date"] = from_timestamp(data.get("until_date", None)) _class_mapping: Dict[str, Type["ChatMember"]] = { cls.OWNER: ChatMemberOwner, cls.ADMINISTRATOR: ChatMemberAdministrator, cls.MEMBER: ChatMemberMember, cls.RESTRICTED: ChatMemberRestricted, cls.LEFT: ChatMemberLeft, cls.BANNED: ChatMemberBanned, } if cls is ChatMember: return _class_mapping.get(data["status"], cls)(**data, bot=bot) return cls(**data)