myircbot/plugins/pwgen.py
2025-05-29 22:58:53 +02:00

43 lines
1.5 KiB
Python

import random
import string
def generar_password(longitud=12, mayusculas=True, numeros=True, simbolos=False):
"""Genera una contraseña aleatoria con las opciones indicadas."""
caracteres = string.ascii_lowercase
if mayusculas:
caracteres += string.ascii_uppercase
if numeros:
caracteres += string.digits
if simbolos:
caracteres += string.punctuation
if longitud < 4:
return " La contraseña debe tener al menos 4 caracteres."
password = ''.join(random.choice(caracteres) for _ in range(longitud))
return f" Contraseña generada: **{password}**"
def run(sender, *args):
"""Función principal que será ejecutada por el bot."""
try:
longitud = int(args[0]) if len(args) > 0 else 12
mayusculas = "nomayus" not in args
numeros = "nonum" not in args
simbolos = "simbolos" in args
return generar_password(longitud, mayusculas, numeros, simbolos)
except ValueError:
return " Uso: `.pwgen [longitud] [nomayus] [nonum] [simbolos]` (Ej: `.pwgen 16 simbolos`)"
def help():
"""Descripción del plugin para el comando .help"""
return (" Genera contraseñas aleatorias.\n"
"Uso: `.pwgen [longitud] [nomayus] [nonum] [simbolos]`\n"
"**Ejemplo:** `.pwgen 16 simbolos` → Contraseña de 16 caracteres con símbolos.\n"
"**Opciones:**\n"
"- `nomayus` → No incluir mayúsculas.\n"
"- `nonum` → No incluir números.\n"
"- `simbolos` → Incluir símbolos.")