def __init__(self, data_dict):
        data = dict(data_dict)
        data["source"] = "ttr"
        data["sn_id"] = data.pop("id")
        data["created_at"] = dtprsr.parse(data["created_at"])

        delete_fields_with_prefix(data, ("_str"), l=False, r=True)
        delete_fields_none_values(data)
        super(TTR_APIUser, self).__init__(data)
    def __init__(self, data_dict):
        data = dict(data_dict)
        data["source"] = "ttr"
        source_post = data.pop("retweeted_status", None)
        if source_post:
            source_post = TTR_APIMessage(source_post)
            data["re_post_info"] = source_post

        message_user = data.pop("user", None)
        if message_user:
            message_user = TTR_APIUser(message_user)
            data["user"] = message_user
            data["owner"] = {"sn_id": data["user"]["sn_id"], "screen_name": data["user"]["screen_name"]}

        reply_user_id = data.pop("in_reply_to_user_id", None)
        if reply_user_id:
            data["reply_info"] = {
                "owner": {"sn_id": reply_user_id, "screen_name": data.pop("in_reply_to_screen_name", None)},
                "post_id": data.pop("in_reply_to_status_id", None),
            }
            delete_fields_with_prefix(data, ("in_reply_to"), l=True, r=False)

        sn_id = data.pop("id", None)
        if sn_id:
            data["sn_id"] = sn_id

        created_at = data.get("created_at", None)
        if created_at and not isinstance(created_at, datetime):
            data["created_at"] = dtprsr.parse(created_at)

        data["language"] = get_lang(data.pop("lang", None))

        delete_fields_with_prefix(data, ("_str"), l=False, r=True)
        delete_fields_none_values(data)

        # source_post = data.get('re_post_info')
        # data['entities'] = self.__ensure_entities(data.get('text'), source_post.get("text") if source_post else None)

        super(TTR_APIMessage, self).__init__(data)