-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathadmin.py
98 lines (87 loc) · 4.01 KB
/
admin.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
from telegram.ext import Updater, CommandHandler, ConversationHandler, MessageHandler, Filters, PicklePersistence
import os
from datetime import datetime
from database import Suggest_database
import hashlib
INPUT_PASS = 0
INPUT_EXIT = 0
INPUT_DELETE = 0
class Admin:
def admin_handler(update,context):
update.message.reply_text("Inicia sesión escribiendo tu usuario y contraseña separado por espacios")
return INPUT_PASS
def admin_input(update,context):
suggest = update.message.text
try:
user = suggest.split(" ")[0]
password = suggest.split(" ")[1]
password_md5 = hashlib.md5(password.encode('utf-8')).hexdigest()
db = Suggest_database()
logged = db.is_user_correct(user,password_md5)
if(logged):
context.user_data["logged"] = True
update.message.reply_text("Has iniciado sesión como administrador!")
update.message.reply_text("¿Que deseas hacer? \n--------------------------------------------"+
"\n/list: Listar sugerencias\n/delete: Eliminar sugerencia\n/logout: Cerrar sesion")
return ConversationHandler.END
else:
update.message.reply_text("El usuario o la contraseña son incorrectos, vuelve a intentarlo de nuevo /admin")
return ConversationHandler.END
except:
update.message.reply_text("El usuario o la contraseña son incorrectos, vuelve a intentarlo de nuevo /admin")
return ConversationHandler.END
#Suggest list
def listar(update, context):
try:
if (context.user_data["logged"]==True):
update.message.reply_text("Listando sugerencias...")
db = Suggest_database()
data = db.get_suggests()
text = ""
for item in data:
text += "Id: "+str(item[0])+"\nFecha: "+str(item[1])+"\nSugerencia: "+str(item[2])+"\n\n"
update.message.reply_text(text)
else:
update.message.reply_text("Necesitas iniciar sesion como administrador")
return ConversationHandler.END
except:
update.message.reply_text("Necesitas iniciar sesion como administrador")
return ConversationHandler.END
#Delete suggest
def delete_handler(update, context):
try:
if (context.user_data["logged"]==True):
update.message.reply_text("Dime el Id de la sugerencia que quieres eliminar")
return INPUT_DELETE
else:
update.message.reply_text("Necesitas iniciar sesion como administrador")
return ConversationHandler.END
except:
update.message.reply_text("Necesitas iniciar sesion como administrador")
return ConversationHandler.END
def delete_input(update,context):
suggest_id = update.message.text
db = Suggest_database()
db.delete_suggest(suggest_id)
update.message.reply_text("La sugerencia con id: "+str(suggest_id)+" ha sido eliminada con exito")
return ConversationHandler.END
#Log out administrator
def salir(update,context):
try:
if (context.user_data["logged"]==True):
update.message.reply_text("¿Está seguro que desea salir? (Y/N)")
return INPUT_EXIT
else:
update.message.reply_text("Necesitas iniciar sesion como administrador")
return ConversationHandler.END
except:
update.message.reply_text("Necesitas iniciar sesion como administrador")
return ConversationHandler.END
def input_exit(update,context):
try:
if(update.message.text=="Y"):
context.user_data["logged"]=False
update.message.reply_text("Se ha cerrado sesión correctamente")
return ConversationHandler.END
except:
return ConversationHandler.END