Buy market offer directly
This commit is contained in:
@ -12,6 +12,7 @@ from typing import Any, Dict, List, NoReturn, Optional, Set, Tuple, Union
|
||||
from requests import HTTPError, RequestException, Response
|
||||
|
||||
from . import utils, classes, access_points, constants
|
||||
from .classes import OfferItem
|
||||
|
||||
|
||||
class BaseCitizen(access_points.CitizenAPI):
|
||||
@ -1147,6 +1148,24 @@ class CitizenEconomy(CitizenTravel):
|
||||
self._report_action("BOUGHT_PRODUCTS", json_ret.get('message'), kwargs=json_ret)
|
||||
return json_ret
|
||||
|
||||
def buy_market_offer(self, offer: OfferItem, amount: int = None) -> dict:
|
||||
if amount is None or amount > offer.amount:
|
||||
amount = offer.amount
|
||||
traveled = False
|
||||
if not self.details.current_country == offer.country:
|
||||
traveled = True
|
||||
self.travel_to_country(offer.country)
|
||||
ret = self._post_economy_marketplace_actions('buy', offer=offer.offer_id, amount=amount)
|
||||
json_ret = ret.json()
|
||||
if not json_ret.get('error', True):
|
||||
self.details.cc = ret.json()['currency']
|
||||
self.details.gold = ret.json()['gold']
|
||||
json_ret.pop("offerUpdate", None)
|
||||
self._report_action("BOUGHT_PRODUCTS", json_ret.get('message'), kwargs=json_ret)
|
||||
if traveled:
|
||||
self.travel_to_residence()
|
||||
return json_ret
|
||||
|
||||
def get_market_offers(
|
||||
self, product_name: str, quality: int = None, country: constants.Country = None
|
||||
) -> Dict[str, classes.OfferItem]:
|
||||
|
Reference in New Issue
Block a user