コード例 #1
0
ファイル: async_manager.py プロジェクト: Mrmatiiii/pytf
    async def mp_sales(self,
                       num: int = 100,
                       start_before: int = time(),
                       parse: bool = True):
        if not self.mp_api_key:
            raise exceptions.KeyNotSetError("mp_api_key")

        data = {
            "key": self.mp_api_key,
            "num": num,
            "start_before": start_before
        }

        response = await self.request(
            "GET",
            "https://marketplace.tf/api/Seller/GetSales/v2",
            params=data)

        if not response["success"]:
            raise exceptions.BadResponseError(
                "https://marketplace.tf/api/Seller/GetSales/v2", response)

        if not parse:
            return response

        to_return = []
        for sale in response["sales"]:
            to_return.append(mp_sale.Sale(sale))

        return to_return
コード例 #2
0
ファイル: async_manager.py プロジェクト: Mrmatiiii/pytf
    async def mp_deals(self,
                       num: int = 100,
                       skip: int = 0,
                       parse: bool = True):
        if not self.mp_api_key:
            raise exceptions.KeyNotSetError("mp_api_key")

        data = {"key": self.mp_api_key, "num": num, "skip": skip}

        response = await self.request(
            "POST",
            "https://marketplace.tf/api/Deals/GetDeals/v2",
            params=data)

        if not response["success"]:
            raise exceptions.BadResponseError(
                "https://marketplace.tf/api/Deals/GetDeals/v2", response)

        if not parse:
            return response

        to_return = {"num_items": response["num_items"], "items": []}

        for item in response["items"]:
            to_return["items"].append(mp_deal.Deal(item))

        return to_return
コード例 #3
0
ファイル: async_manager.py プロジェクト: Mrmatiiii/pytf
    async def mp_dashboard_items(self, parse: bool = True):
        if not self.mp_api_key:
            raise exceptions.KeyNotSetError("mp_api_key")

        data = {"key": self.mp_api_key}

        response = await self.request(
            "GET",
            "https://marketplace.tf/api/Seller/GetDashboardItems/v2",
            params=data)

        if not response["success"]:
            raise exceptions.BadResponseError(
                "https://marketplace.tf/api/Seller/GetDashboardItems/v2",
                response)

        if not parse:
            return response

        to_return = {
            "num_item_groups": response["num_item_groups"],
            "total_items": response["total_items"],
            "items": []
        }

        for item in response["items"]:
            to_return["items"].append(mp_item.Item(item))

        return to_return
コード例 #4
0
ファイル: async_manager.py プロジェクト: Mrmatiiii/pytf
    async def bp_get_currencies(self, raw: int = 0, parse: bool = True):
        # backpack.tf docs - https://backpack.tf/api/docs/IGetCurrencies

        if not self.bp_api_key:
            raise exceptions.KeyNotSetError("bp_api_key")

        data = {"key": self.bp_api_key}
        if raw:
            data["raw"] = raw

        response = await self.request(
            "GET", "https://backpack.tf/api/IGetCurrencies/v1", params=data)

        if not response["response"]["success"]:
            raise exceptions.BadResponseError(
                "https://backpack.tf/api/IGetCurrencies/v1",
                response["response"]["message"])

        if not parse:
            return response

        to_return = {}

        for item in response["response"]["currencies"]:
            to_return[item] = bp_currency.Currency(
                response["response"]["currencies"][item])

        return to_return
コード例 #5
0
ファイル: __init__.py プロジェクト: Mrmatiiii/pytf
    def bp_get_prices(self, raw: bool = 0, since: int = 0, parse: bool = True):
        # backpack.tf docs - https://backpack.tf/api/docs/IGetPrices

        if not self.bp_api_key:
            raise exceptions.KeyNotSetError("bp_api_key")

        data = {"key": self.bp_api_key}
        if raw:
            data["raw"] = raw
        if since:
            data["since"] = since

        response = self.request("GET",
                                "https://backpack.tf/api/IGetPrices/v4",
                                params=data)

        if not response["response"]["success"]:
            raise exceptions.BadResponseError(
                "https://backpack.tf/api/IGetPrices/v4",
                response["response"]["message"])

        if not parse:
            return response

        return bp_prices.Prices(response)
コード例 #6
0
ファイル: __init__.py プロジェクト: Mrmatiiii/pytf
    def bp_get_price_history(self,
                             item,
                             quality=None,
                             tradable=1,
                             craftable=1,
                             priceindex: int = 0,
                             appid: int = 440,
                             parse: bool = True):
        # backpack.tf docs - https://backpack.tf/api/docs/IGetPriceHistory

        if not self.bp_api_key:
            raise exceptions.KeyNotSetError("bp_api_key")

        data = {
            "key": self.bp_api_key,
            "item": item,
            "tradable": tradable,
            "craftable": craftable,
            "priceindex": priceindex,
            "appid": appid
        }

        if quality:
            data["quality"] = quality

        response = self.request("GET",
                                "https://backpack.tf/api/IGetPriceHistory/v1",
                                params=data)

        if not response["response"]["success"]:
            raise exceptions.BadResponseError(
                "https://backpack.tf/api/IGetPriceHistory/v1",
                response["response"]["message"])

        if not parse:
            return response

        to_return = []
        for history in response["response"]["history"]:
            to_return.append(bp_price_history.PriceHistory(history))

        return to_return
コード例 #7
0
ファイル: async_manager.py プロジェクト: Mrmatiiii/pytf
    async def bp_user_info(self, steamids: list, parse: bool = True):
        # backpack.tf docs - https://backpack.tf/api/docs/user_info

        to_return = {}

        if not self.bp_api_key:
            raise exceptions.KeyNotSetError("bp_api_key")

        steamids_str = []
        for steamid in steamids:
            steamids_str.append(str(steamid))

        for steamid in steamids_str:
            if steamid in self.bp_user_cache and parse:
                steamids_str.remove(steamid)
                to_return[steamid] = self.bp_user_cache[steamid]

        if not steamids_str:
            return to_return

        data = {"key": self.bp_api_key, "steamids": ",".join(steamids_str)}

        response = await self.request("GET",
                                      "https://backpack.tf/api/users/info/v1",
                                      params=data)

        if "message" in response:
            raise exceptions.BadResponseError(
                "https://backpack.tf/api/users/info/v1", response["message"])

        if not parse:
            return response

        for steamid, data in response["users"].items():
            to_return[steamid] = bp_user.BackpackUser(data)

        if self.cache:
            for steamid, info in to_return.items():
                self.bp_user_cache[steamid] = info

        return to_return
コード例 #8
0
ファイル: async_manager.py プロジェクト: Mrmatiiii/pytf
    async def mp_user_is_banned(self, steamid):
        if not self.mp_api_key:
            raise exceptions.KeyNotSetError("mp_api_key")

        steamid = str(steamid)

        data = {"key": self.mp_api_key, "steamid": steamid}

        response = await self.request(
            "GET",
            "https://marketplace.tf/api/Bans/GetUserBan/v1",
            params=data)

        if not response["success"]:
            raise exceptions.BadResponseError(
                "https://marketplace.tf/api/Bans/GetUserBan/v1", response)

        if not response["is_banned"]:
            return False, None

        return True, response["ban_type"]