-
Notifications
You must be signed in to change notification settings - Fork 1
/
cardano_TB_API.py
66 lines (55 loc) · 2.76 KB
/
cardano_TB_API.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import tweepy
from requests import Request, Session
from requests.exceptions import ConnectionError, Timeout, TooManyRedirects
import json
def send_request(fiat_currency):
info = []
url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest'
parameters = {
'symbol':'ADA',
'convert': fiat_currency
}
headers = {
'Accepts': 'application/json',
'X-CMC_PRO_API_KEY': '',
}
session = Session()
session.headers.update(headers)
try:
response = session.get(url, params=parameters)
cryptodata = json.loads(response.text)
for key, value in cryptodata.items(): # full dictionary
if key == 'data':
for k,v in value.items(): # 'Data' dictionary within full dictionary
for key_1,value_1 in v.items():
if key_1 == 'quote':
for key_2, value_2 in value_1.items(): # "Quote" dictionary, within the 'Data' dictionary, within the full dictionary
for key_3, value_3 in value_2.items(): # Drilling into the 'USD' dictionary, within the "Quote" dictionary, within the 'Data' dictionary, within the full dictionary
if key_3 == 'price':
price_rounded = str(round(float(value_3), 6)) #rounding the prices to 3 decimals to save characters on twitter
info.append(price_rounded)
elif key_3 == 'percent_change_24h':
percent_change_rounded = str(round(float(value_3), 3)) + '%' #rounding values to 3 decimals as done above
info.append(percent_change_rounded)
except (ConnectionError, Timeout, TooManyRedirects) as e:
print(e)
return info
# Requesting USD info
usd_data = send_request('USD')
# Requesting GBP info
gbp_data = send_request('GBP')
# Requesting EUR info
eur_data = send_request('EUR')
usd_text = 'The current price of #Cardano is: \n$'+ str(usd_data[0]) +' ('+ usd_data[1]+' in the past 24 hours)\n'
gbp_text = '£'+ str(gbp_data[0]) +' ('+ gbp_data[1]+' in the past 24 hours)\n'
eur_text = '€'+ str(eur_data[0]) +' ('+ eur_data[1]+' in the past 24 hours)\n'
pricedata = usd_text + gbp_text+ eur_text + '\n$ADA'
consumer_key = ''
consumer_secret = ''
access_token = ''
access_token_secret = ''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
api.update_status(pricedata)
#print(pricedata)