38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
class BytesPlugin:
|
||
"""Conversor de unidades de almacenamiento."""
|
||
|
||
unidades = ["B", "KB", "MB", "GB", "TB", "PB"]
|
||
|
||
def convertir_bytes(self, valor: float, unidad: str):
|
||
try:
|
||
unidad = unidad.upper()
|
||
if unidad not in self.unidades:
|
||
return " Unidad no válida. Usa: B, KB, MB, GB, TB, PB."
|
||
|
||
index = self.unidades.index(unidad)
|
||
resultados = []
|
||
for i, u in enumerate(self.unidades):
|
||
conversion = valor * (1024 ** (index - i))
|
||
resultados.append(f" {conversion:.2f} {u}")
|
||
|
||
return "\n".join(resultados)
|
||
except Exception as e:
|
||
return f"️ Error en conversión: {e}"
|
||
|
||
def run(self, sender, *args):
|
||
if len(args) != 2:
|
||
return " Uso: `.bytes <valor> <unidad>` (Ej: `.bytes 5 GB`)"
|
||
try:
|
||
valor = float(args[0])
|
||
unidad = args[1]
|
||
return self.convertir_bytes(valor, unidad)
|
||
except ValueError:
|
||
return " Error: El valor debe ser un número. Ejemplo correcto: `.bytes 1024 KB`"
|
||
|
||
def help(self):
|
||
return (" **Conversor de Bytes**\n"
|
||
" Usa `.bytes <valor> <unidad>` para convertir unidades de almacenamiento.\n"
|
||
" Ejemplo: `.bytes 1024 KB` para convertir 1024 KB a otras unidades.\n"
|
||
" Unidades disponibles: `B, KB, MB, GB, TB, PB`.")
|
||
|