es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Crear un bucle infinito en Pyrogram: while True: # Código a ejecutar en bucle infinito

Necesito que esta parte del script funcione infinitamente (enviando mensajes), pero solo funciona una vez y luego se detiene.

app = Client("cuenta", api_id, api_hash)
f = open('texto.txt')
t = 1
with app:
    while True:
        for line in f.readlines():
            try:
                app.send_message(chat_id=line[13:].rstrip(), text=txt)
                print(f"Mensaje enviado exitosamente al chat {line}")
                time.sleep(0.5)
            except:
                print(f"Algo salió mal... Tal vez el chat {line} tiene el modo lento activado")
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para hacer que el script funcione infinitamente, debes mover la apertura del archivo dentro del bucle while True, de manera que lea desde el principio del archivo cada vez que se repita. Actualmente, el archivo solo se lee una vez y el bucle se sale después de que haya terminado de leer todas las líneas. Por lo tanto, puedes modificar el código de la siguiente manera:

    app = Client("cuenta", api_id, api_hash)
    
    while True:
        with open('text.txt') as f:
            for line in f:
                try:
                    app.send_message(chat_id=line[13:].rstrip(), text=txt)
                    print(f"Успешно написал в чат по ссылке {line}")
                    time.sleep(0.5)
                except:
                    print(f"Что-то пошло не так... Возможно в чате {line} включен медленный режим")
    

    Esto hará que el código se repita continuamente por el archivo y envíe mensajes a los IDs de chat especificados. Además, el uso de una declaración with para abrir el archivo garantizará que siempre se cierre correctamente, incluso si ocurre un error mientras se lee el archivo.

Comments are closed.