-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgasState.py
93 lines (70 loc) · 2.43 KB
/
gasState.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
from leer import *
import requests
import telegram
import reloj
import mandarTelegram
import sqlite3
from create_database import convertirTablaADiccionario
token = ''
conn = sqlite3.connect('database.db')
c = conn.cursor()
bot = telegram.Bot(token=token)
future = dict()
datos = convertirTablaADiccionario(c,'datos')
if(len(datos)>0):
for name,array in datos.items():
#print(array)
horaVieja = reloj.hora()
future[name] = reloj.agregarTiempo(horaVieja,int(array[3]))
print(future)
hora = reloj.hora()
tiempofuturo = reloj.agregarTiempo(hora,1) # 1 minuto
while True:
for name,array in datos.items():
if name not in future.keys():
horaVieja = reloj.hora()
future[name] = reloj.agregarTiempo(horaVieja,int(array[3]))
hora = reloj.hora()
if tiempofuturo > hora:
#print(tiempofuturo)
#print(hora)
continue
tiempofuturo = reloj.agregarTiempo(hora,1)
response = requests.get('https://api.etherscan.io/api?module=gastracker&action=gasoracle&apikey=CQHB165JYY6BEIBSWV2R4X46E7XM9QPDMR')
response.raise_for_status()
if response.status_code != 204:
data = response.json()
gasBajo = int(data["result"]["SafeGasPrice"])
gasMedio = int(data["result"]["ProposeGasPrice"])
gasAlto = int(data["result"]["FastGasPrice"])
texto = str([gasBajo, gasMedio, gasAlto ])
#print(texto)
c.execute(f'''UPDATE gas
SET bajo = {gasBajo},
medio = {gasMedio},
alto = {gasAlto}
''')
conn.commit()
conn = sqlite3.connect('database.db')
c = conn.cursor()
datos = convertirTablaADiccionario(c,'datos')
if(len(datos)>0):
for name,array in datos.items():
hora = reloj.hora()
if future[name] > hora:
continue
future[name] = reloj.agregarTiempo(hora,int(datos[name][3]))
tipoDeGas = datos[name][7]
if(tipoDeGas=='safe'):
gas = gasBajo
elif(tipoDeGas=='medium'):
gas = gasMedio
else:
gas = gasAlto
gasIdeal = array[1]
print(gasIdeal,gas)
if (gasIdeal==None):
continue
elif(int(gasIdeal) >= gas ):
if datos[name][5] == True:
mandarTelegram.send_message(name,"The gas is cheap: " + texto)