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.

Pyrogram UserBot comprueba si un nombre de usuario está disponible.

Estoy programando en Python un Telegram UserBot para comprobar si un nombre de usuario está libre. Tengo una lista de nombres de usuario en mi base de datos.
El bot funciona bien en local, pero cuando lo subo a Hetzner, tiene un error.
Para comprobar un nombre de usuario, hay un bucle que envía una solicitud al sitio web de Telegram.

mientras True:

    vab = "icon_user"
    db = cluster["usuarios"]
    colección = db["lista2"]
    resultados = colección.find()
    para resultado en resultados:
        usern = str(resultado["_id"])           
        url = 'https://t.me/{}'.format(usern[1:])            
        r = requests.get(url)
        if vab en str(r.text) y no "400 Bad Request" en str(r.text):

La condición if a veces falla, devuelve que el nombre de usuario está libre, incluso si está ocupado. He intentado varias veces cambiar la variable que verifica la condición, pero siempre tengo el mismo error…
¿Cómo puedo resolver esto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría estar en la condición de la declaración if. Se verifica la presencia de icon_user en la respuesta de texto y también la ausencia de 400 Bad Request. Sin embargo, esto podría no ser suficiente para garantizar que el nombre de usuario esté realmente disponible.

    Una manera de mejorar esto sería buscar un indicador más específico en la respuesta que indique si el nombre de usuario está disponible o no. Por ejemplo, se podría buscar un elemento HTML o una cadena de texto específica que solo aparezca cuando el nombre de usuario esté disponible.

    Otro enfoque sería utilizar directamente la API de Telegram para verificar la disponibilidad de nombres de usuario. Esto podría ser más confiable que hacer scraping del sitio web de Telegram, ya que la API está diseñada para este propósito.

    Finalmente, es posible que el problema esté relacionado con la conexión de red o la configuración del servidor en Hetzner. Es posible que desee verificar los registros o consultar con el proveedor de alojamiento para ver si existen problemas que puedan estar causando el error.

Comments are closed.