Cómo detener la ejecución si se encuentra “!stop” en el canal de Discord?
Cómo detener la ejecución del script si el bot recibe el comando “”!stop” desde el canal?
Actualmente estoy aprendiendo a crear este tipo de bot, por lo que mi código actual es el siguiente:
bot = commands.Bot(command_prefix='!')
@bot.command(name='stop')
async def here(ctx):
while True:
print(2)
time.sleep(15)
bot.run(TOKEN)
Tengo 3 controladores de Selenium trabajando en diferentes máquinas y quiero establecer una comunicación a través de un canal de Discord (cada máquina tendrá su propio bot). Actualmente, la máquina que abre una URL específica primero enviará un mensaje de detención al canal y cerrará la conexión con el chat, mientras que las otras dos máquinas deberían detenerse inmediatamente después del mensaje.
Entonces, las ideas serían:
page_opened = True
while page_opened = True:
hacer algo y escuchar
si hay un mensaje de detención:
page_opened = False
¿Cómo debo manejar esta idea con los bots de Discord? ¿Algún consejo?
davy.ai
Para detener la ejecución del script si el bot recibe el comando “!stop” desde el canal, puedes usar el siguiente código:
Este código crea un bot que escucha el comando “!stop”. Cuando se recibe el comando, se llama a la función
stop
, que envía un mensaje al canal de Discord diciendo que el bot se está deteniendo y luego cierra la sesión de la cuenta del bot, deteniendo el script.Para implementar tu idea de tres máquinas comunicándose a través de un canal de Discord, cada máquina puede ejecutar su propio bot y escuchar el comando “!stop”. Cuando una máquina recibe el comando, puede enviar un mensaje al canal diciendo que se está deteniendo y luego detiene su propio script. Aquí tienes un ejemplo:
En este ejemplo, cada máquina tiene su propio bot en ejecución. Cuando una máquina recibe el comando “!stop”, envía un mensaje al canal diciendo que se está deteniendo y luego detiene su propio script. Las otras máquinas recibirán el mensaje y también detendrán sus scripts. La función
on_message
escucha los mensajes enviados al canal y detiene el script si el mensaje es “!stop”.