-
Notifications
You must be signed in to change notification settings - Fork 0
/
util_config.py
128 lines (92 loc) · 3.68 KB
/
util_config.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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import json
import socket
import ssl
from flask import Flask, request, jsonify
import requests
import sys, os
import util_polls
# Add the parent folder path to the sys.path list
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
script_folder = os.path.dirname(os.path.abspath(__file__))
import util_crypto
from apscheduler.schedulers.background import BackgroundScheduler
# Enable logging
import logging
logging.basicConfig(
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.DEBUG
)
# set higher logging level for httpx to avoid all GET and POST requests being logged
logging.getLogger("httpx").setLevel(logging.WARNING)
logger = logging.getLogger(__name__)
version = '0.6.0 Fixed decimal trigger'
# ----------------------------------------------
# Defina as configurações da API
api_url = "https://gate.whapi.cloud/messages/text"
api_key = "IggSqEFstZ8K4E7Pt1XMQFGx5bn3a4L5"
zap_sender = '+5527996012345'
# ----------------------------------------------
# Argumento de linha de comando especifica o bot a ser usado
if ('PantheonBot' in sys.argv):
api_key = "oNDMmznkXP2LPYgCVoSuQtNbGjBClCds"
zap_sender = '+5527998881234'
elif ('SandBot' in sys.argv):
api_key = "jVqSRfBPiqylCzm6BD3lfqVeWRK20jJM"
zap_sender = '+5527998881234'
# ----------------------------------------------
# Carrega triggers.json
triggers = {}
# if triggers json file exists, load it into triggers object
trigger_file = f'{script_folder}{os.sep}triggers.json'
if os.path.exists(trigger_file):
with open(trigger_file, 'r') as f:
triggers = json.load(f)
# ----------------------------------------------
# Carrega configurações API Foxbit api_key etc do arquivo foxbit.json
foxbit_settings = {}
# if foxbit json file exists, load it into foxbit object
foxbit_file = f'{script_folder}{os.sep}foxbit.json'
if os.path.exists(foxbit_file):
with open(foxbit_file, 'r') as f:
foxbit_settings = json.load(f)
# ----------------------------------------------
help_message = """*Olá! Eu sou um bot que te ajuda a gerenciar criptomoedas.*
- _Para saber o preço de uma criptomoeda, digite:_
`/price <sigla da criptomoeda> <moeda-para-conversão>`
- _Os defaults, caso omitidos, são:_ `BTC BRL` _(Bitcoin em Reais)_
- _Por exemplo, para saber a cotação do Bitcoin em Reais, digite:_
`/price`
- _Para saber a cotação do Bitcoin em Dólares, digite:_
`/price BTC USD`
- _Para ver a lista de todas as criptomoedas disponíveis, digite:_
`/cryptos`
- _Para pesquisar uma crypto pelo nome digite:_
`/cryptos <nome-do-crypto-a-pesquisar>`
- _Por exemplo, para pesquisar por Ethereum, digite:_
`/cryptos ethereum`
- _Para criar um gatilho de alta (up) ou de baixa (down), digite:_
`/trigger <sigla-da-cripto> <preço-de-disparo> <up | down>`
- _Por exemplo, para criar um gatilho de alta para Bitcoin a R$ 300.000, digite:_
`/trigger btc 300000 up`
- _Para mostrar o gatilho ativo, digite:_
`/trigger list`
- _Para desativar todos os gatilhos, digite:_
`/trigger off`
- _Para desativar os gatilhos up e down de uma crypto especifica, digite:_
`/trigger off <symbolo-da-cripto>`
- _Exemplo para desativar todos os gatilhos do BTC:_
`/trigger off btc`
- _Versão para Telegram:_ https://t.me/BigQuoteBot
"""
def save_triggers():
with open(trigger_file, 'w') as f:
json.dump(triggers, f, indent=4)
def save_foxbit_settings(foxbit_settings):
with open(foxbit_file, 'w') as f:
json.dump(foxbit_settings, f, indent=4)
def load_triggers():
global triggers
with open(trigger_file, 'r') as f:
triggers = json.load(f)
def load_foxbit_settings():
with open(foxbit_file, 'r') as f:
foxbit_settings = json.load(f)