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

38 lines
1.4 KiB
Python
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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`.")