2020-09-07 09:30:25 +00:00
|
|
|
from os import getenv
|
|
|
|
from dotenv import load_dotenv
|
|
|
|
from requests import get as requests_get
|
|
|
|
from requests import post as requests_post
|
|
|
|
from requests.auth import HTTPBasicAuth
|
|
|
|
|
|
|
|
|
|
|
|
class TradeOgre(object):
|
|
|
|
def __init__(self):
|
|
|
|
load_dotenv('.env')
|
|
|
|
self.base = 'https://tradeogre.com/api/v1'
|
|
|
|
self.auth = HTTPBasicAuth(
|
|
|
|
getenv('TO_USER'),
|
|
|
|
getenv('TO_PASS')
|
|
|
|
)
|
|
|
|
|
|
|
|
def req(self, route, method='get', data={}):
|
|
|
|
url = self.base + route
|
|
|
|
if method == 'get':
|
|
|
|
r = requests_get(url, auth=self.auth)
|
|
|
|
else:
|
|
|
|
r = requests_post(url, auth=self.auth, data=data)
|
|
|
|
return r.json()
|
|
|
|
|
|
|
|
def get_trade_pair(self, pair):
|
|
|
|
route = f'/ticker/{pair}'
|
|
|
|
return self.req(route)
|
|
|
|
|
|
|
|
def get_balance(self, currency):
|
|
|
|
route = '/account/balance'
|
|
|
|
data = {'currency': currency}
|
|
|
|
return self.req(route, 'post', data)
|
|
|
|
|
|
|
|
def get_balances(self):
|
|
|
|
route = '/account/balances'
|
|
|
|
return self.req(route)
|
|
|
|
|
|
|
|
def submit_order(self, type, pair, quantity, price):
|
|
|
|
route = f'/order/{type}'
|
|
|
|
data = {'market': pair, 'quantity': quantity, 'price': price}
|
|
|
|
return self.req(route, 'post', data)
|
|
|
|
|
|
|
|
def get_order(self, uuid):
|
|
|
|
route = f'/account/order/{uuid}'
|
|
|
|
return self.req(route)
|
2020-09-09 04:30:49 +00:00
|
|
|
|
|
|
|
def get_orders(self, pair):
|
|
|
|
route = f'/account/orders'
|
|
|
|
data = {'market': pair}
|
|
|
|
return self.req(route, 'post', data)
|
2023-03-01 20:19:18 +00:00
|
|
|
|
|
|
|
def get_bitcoin_price(self):
|
|
|
|
url = 'https://api.coingecko.com/api/v3/coins/bitcoin'
|
|
|
|
headers = {'accept': 'application/json'}
|
|
|
|
data = {
|
|
|
|
'localization': False,
|
|
|
|
'tickers': False,
|
|
|
|
'market_data': True,
|
|
|
|
'community_data': False,
|
|
|
|
'developer_data': False,
|
|
|
|
'sparkline': False
|
|
|
|
}
|
|
|
|
r = requests_get(url, headers=headers, data=data)
|
|
|
|
return r.json()['market_data']['current_price']['usd']
|
|
|
|
|