37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
class GivePlugin:
|
||
"""Plugin para ejecutar un comando y enviar el resultado a otro usuario."""
|
||
|
||
def __init__(self, plugins):
|
||
self.plugins = plugins
|
||
|
||
def run(self, sender, *args):
|
||
"""Ejecuta un comando y envía el resultado como '<usuario>: <salida_del_comando>'."""
|
||
if len(args) < 2:
|
||
return " Uso: `.give <usuario> <comando> [argumentos]`"
|
||
|
||
usuario = args[0] # Primer argumento es el usuario
|
||
comando = args[1] # Segundo argumento es el comando a ejecutar
|
||
parametros = args[2:] # El resto son los argumentos del comando
|
||
|
||
if comando == "give":
|
||
return "️ No puedes usar 'give' dentro de 'give'."
|
||
|
||
if comando not in self.plugins:
|
||
return f" El comando '{comando}' no existe."
|
||
|
||
try:
|
||
plugin_or_func = self.plugins[comando]
|
||
|
||
if callable(plugin_or_func):
|
||
resultado = plugin_or_func(sender, *parametros)
|
||
else:
|
||
resultado = plugin_or_func.run(sender, *parametros)
|
||
|
||
return f" {usuario}: {resultado}"
|
||
except Exception as e:
|
||
return f" Error al ejecutar '{comando}': {str(e)}"
|
||
|
||
def help(self):
|
||
return " Usa `.give <usuario> <comando> [argumentos]` para ejecutar un comando y enviar el resultado como '<usuario>: <resultado>'."
|
||
|