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)
Exemplo n.º 3
0
    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)
Exemplo n.º 5
0
    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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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)
Exemplo n.º 11
0
    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)