MsRewards-Reborn/main.py
2022-12-30 16:02:48 +01:00

166 lines
4.5 KiB
Python

#/usr/bin/python3.10
import configparser
import os
import shutil
config = configparser.ConfigParser()
try :
config_path = f"{os.path.abspath( os.path.dirname( __file__ ) )}/user_data/config.cfg"
if config.read(config_path)==[] :
raise NameError("le fichier n'existe pas")
except :
default_config = f"{os.path.abspath( os.path.dirname( __file__ ) )}/user_data/config.default"
shutil.copyfile(default_config, config_path)
config.read(config_path)
def confirm(texte, default = False):
if default :
txt = '[Y/n]'
else :
txt = '[y/N]'
yes = ['y', 'yes', 'o', 'oui']
no = ['n', 'non', 'no']
a = input(f"{texte} {txt}").lower()
if a in yes :
return True
elif a in no :
return False
return default
lang = "fr"
text = {"fr" : {
"compte" : "entrer l'adresse mail du compte ",
"mdp" : "entrez le mot de passe du compte ",
"next" : "voulez vous ajouter un compte ? ",
"finc" : "comptes en cours d'ajout ",
"ajout" : "comptes ajouté ",
"fidelity" : "avez vous un lien sur lequel le lien vers la page fidelité du mois est le seul contenu de la page ? ",
"lien" : "entrez le lien ",
"discorde" : "voulez vous envoyer les erreurs sur discord ? ",
"w1" : "entrez le lien du WebHook pour envoyer les points ",
"w2" : "entrez le lien du WebHook pour envoyer les erreurs ",
"msqle" : "voulez vous untiliser une base de donnée ",
"msqll" : "entrez le lien de la base de donnée ",
"msqlu" : "entrez l'utilisateur de la base de donnée ",
"msqlp" : "entrez le mot de passe de la base de donnée ",
"msqlt" : "entrez le nom de la table de la base de donnée ",
"proxye" : "voulez vous utiliser un proxy ",
"proxyl" : "entrez le lien du proxy ",
"proxyp" : "entrez le port du proxy "
}
}
t = text[lang]
def setup():
setup_comptes()
setup_settings()
def setup_comptes():
lc = []
compte = input(t["compte"])
mdp = input(t["mdp"])
lc.append(f"{compte},{mdp}")
for i in range(5):
if confirm(t["next"], default = True):
compte = input(t["compte"])
mdp = input(t["mdp"])
lc.append(f"{compte},{mdp}")
else:
print(t["finc"])
break
f = open('./user_data/login.csv', "w")
for i in lc :
f.write(i)
f.write("\n")
f.close()
print(t["ajout"])
#modifie le fichier de configuration
edit_config_txt("logpath",f'{os.getcwd()}/user_data/login.csv')
def edit_config_txt(ligne, contenu):
f = open(config_path, "r")
txt = f.readlines()
f.close()
if txt.count(txt) >1:
raise NameError("il y a plus d'une occurence, echec de la modification")
for i in range(len(txt)) :
name = txt[i].split(" = ")[0]
if name == ligne:
txt[i] = name + " = " + str(contenu) + "\n"
f = open(config_path, "w")
for i in txt :
f.write(i)
f.close()
def setup_settings():
general()
discord()
proxy()
sql()
amazon()
def general():
if confirm(t["fidelity"]):
lien = input(t["lien"])
edit_config_txt('FidelityLink',lien)
def discord():
enabled = confirm(t["discorde"], default = True)
if enabled :
edit_config_txt("DiscordErrorEnabled", True)
edit_config_txt('DiscordSuccessEnabled', confirm("send success ?", default = True))
w1 = input(t["w1"])
edit_config_txt("successlink",w1)
w2 = input(t["w2"])
edit_config_txt("errorlink",w2)
def sql() :
enabled = confirm(t["msqle"], default = False)
if enabled :
edit_config_txt("sql_enabled", True)
lien = input(t["msqll"])
edit_config_txt("host",lien)
table = input(t["msqlt"])
edit_config_txt("database",table)
user = input(t["msqlu"])
edit_config_txt("usr",user)
pwd = input(t["msqlp"])
edit_config_txt("pwd",pwd)
def proxy() :
enabled = confirm(t["proxye"], default = False)
if enabled :
edit_config_txt("proxy_enabled", True)
lien = input(t["proxyl"])
edit_config_txt("url",lien)
port = input(t["proxyp"])
edit_config_txt("port",port)
def amazon():
enabled = confirm("claim les recompenses automatiquement sur amazon ?", default = False)
edit_config_txt("claim_amazon",enabled)
LogPath = config["PATH"]["logpath"]
if LogPath == "/your/path/to/loginandpass.csv" :
setup()
else :
os.system("python3 V4.py")