First Version
commit
0a471647e5
|
@ -0,0 +1,94 @@
|
|||
from urllib import response
|
||||
from discord.interactions import Interaction
|
||||
from discord.ext import commands
|
||||
from discord import app_commands
|
||||
import discord
|
||||
import config
|
||||
import asyncio
|
||||
import requests
|
||||
import logging
|
||||
|
||||
|
||||
intents = discord.Intents.all()
|
||||
intents.message_content = True
|
||||
bot = commands.Bot(command_prefix= '/',intents=intents)
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
|
||||
|
||||
@bot.event
|
||||
async def on_ready():
|
||||
print("-------Bot-Activo-------")
|
||||
try:
|
||||
synced = await bot.tree.sync()
|
||||
print(f"Sincronizados {len(synced)} comandos")
|
||||
except Exception as i:
|
||||
print(i)
|
||||
|
||||
|
||||
class Solicitud(discord.ui.Modal, title="Solicitud de Requerimientos"):
|
||||
|
||||
user = discord.ui.TextInput (label="Nombre Completo", placeholder= "ej: Pepito Corp Corp", required=True, max_length=40,style=discord.TextStyle.short)
|
||||
#correo = discord.ui.TextInput (label="Correo Institucional", placeholder= "ej: example@usm.cl", required=True, max_length=100,style=discord.TextStyle.short)
|
||||
#departamento = discord.ui.TextInput (label="Departamento al que pertenece", placeholder= "ej: Electronica e Informatica", required=True, max_length=100,style=discord.TextStyle.short)
|
||||
#cuenta = discord.ui.TextInput (label="Posee Cuenta de ilab ?", placeholder= "Si / No", required=True,max_length=10,style=discord.TextStyle.paragraph)
|
||||
re = discord.ui.TextInput (label="Cuales son sus intereses para la solicitud", placeholder= "ej:Iniciativa Estudiantil, Clases, etc..", required=True, max_length=200,style=discord.TextStyle.paragraph)
|
||||
se = discord.ui.TextInput (label="Duracion estimada de los recursos solicitados", placeholder= "ej: 1 semestre , 2 semestres , etc..", required=True, max_length=40,style=discord.TextStyle.short)
|
||||
soli = discord.ui.TextInput (label="¿Cuáles son los requisitos necesarios?", placeholder= "En términos de CPU,RAM ,etc.. ", required=True,min_length=10 ,max_length=200,style=discord.TextStyle.paragraph)
|
||||
sol2 = discord.ui.TextInput (label="¿Cuáles son los requisitos necesarios?", placeholder= "En términos de Software ", required=True, min_length=10,max_length=100,style=discord.TextStyle.paragraph)
|
||||
#pref = discord.ui.TextInput (label="¿Tienes preferencias en cuanto al sistemas operativos que tendra ?", placeholder= "ej: Linux, Windows, etc..", required=True, max_length=100,style=discord.TextStyle.short)
|
||||
#suport = discord.ui.TextInput (label="En caso de requerir soporte seria a nivel de hardware o software", placeholder= "ej: Instalacion de Software", required=True, max_length=100,style=discord.TextStyle.paragraph)
|
||||
|
||||
async def on_submit(self, interaction: Interaction):
|
||||
await interaction.response.send_message(f"{interaction.user.mention} Gracias por rellenar la solicitud")
|
||||
|
||||
channel = discord.utils.get(interaction.guild.channels, name = "sysadmin")
|
||||
|
||||
await channel.send(f"Nueva solicitud de requerimientos hecha por {interaction.user.name} \n Interesado en {self.re}")
|
||||
|
||||
@bot.tree.command(name="solicitud", description="Formulario para levantar una solicitud de requerimientos")
|
||||
async def solicitud(interaction: discord.Interaction):
|
||||
await interaction.response.send_modal(Solicitud())
|
||||
|
||||
|
||||
@bot.tree.command(name="requerimiento", description="Formulario para levantar una solicitud de requerimientos")
|
||||
|
||||
@app_commands.describe(nombre_apellido = "Nombre Completo")
|
||||
@app_commands.describe(correo = "Correo Institucional")
|
||||
@app_commands.describe(departamento = "Departamento al que pertenece")
|
||||
@app_commands.describe(cuenta_ilab = "Cuenta de ilab: Si / No")
|
||||
@app_commands.describe(interes = "Cual es el interes en solicitar los recursos")
|
||||
@app_commands.describe(experiencia_en_tecnologias = "Nivel de Experinecia en Tecnologias Hardaware /Software")
|
||||
@app_commands.describe(duracion_recursos = "Duracion estimada de los recursos")
|
||||
@app_commands.describe(requisitos_hardware = "¿Cuáles son los requisitos necesarios en términos de CPU, RAM ,etc..")
|
||||
@app_commands.describe(requisitos_software = "¿Cuáles son los requisitos necesarios en términos de Software?")
|
||||
@app_commands.describe(sistema_operativo = "¿Tienes preferencias en cuanto al sistemas operativos que tendra ?")
|
||||
@app_commands.describe(soporte = "En caso de requerir soporte seria en :")
|
||||
|
||||
async def re(ctx, nombre_apellido: str, correo: str, departamento: str, cuenta_ilab: str, interes: str, experiencia_en_tecnologias: str,
|
||||
duracion_recursos: str, requisitos_hardware: str, requisitos_software: str, sistema_operativo: str, soporte: str):
|
||||
channel = discord.utils.get(ctx.guild.channels, name="sysadmin")
|
||||
await channel.send(f"Nueva solicitud de requerimientos hecha por {ctx.user.name} \n Interesado en realizar una solicitud en: {interes}")
|
||||
|
||||
|
||||
url = 'XD'
|
||||
data = {'Nombre_Completo': nombre_apellido, 'Correo': correo, 'Departamento': departamento, 'Cuenta_ilab': cuenta_ilab,
|
||||
'Interes': interes, 'Experiencia_en_Tecnologias': experiencia_en_tecnologias, 'Duracion_de_recursos': duracion_recursos,
|
||||
'Requisitos_Hardware': requisitos_hardware, 'Requisitos_Software': requisitos_software,
|
||||
'Sistema_Operativo': sistema_operativo, 'Soporte': soporte}
|
||||
|
||||
await ctx.response.send_message(f"Solicitud registrada correctamente, muchas gracias! :D{ctx.user.mention}")
|
||||
response = requests.post(url, json=data)
|
||||
|
||||
if response.status_code == 200:
|
||||
print('Solicitud exitosa')
|
||||
else:
|
||||
print(f'Error en la solicitud: {response.status_code}')
|
||||
|
||||
|
||||
|
||||
async def main():
|
||||
|
||||
await bot.start(config.TOKEN)
|
||||
|
||||
asyncio.run(main())
|
Loading…
Reference in New Issue