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

38 lines
1.4 KiB
Python
Raw Permalink 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`.")