Cómo recibir múltiples URLs de un bot de Telegram utilizando aiogram
El usuario debe ingresar 3 enlaces uno por uno al bot.
Y el bot debería guardar cada enlace en una nueva variable (por ejemplo: link1, link2, link3).
Intenté usar un manejador de mensajes con una iteración, pero por alguna razón no funciona.
¿Hay alguna solución alternativa?
link1 = ''
link2 = ''
link3 = ''
counter = 1
@dp.message_handler(Text(contains="https://" or "http://",))
async def url(message: types.Message):
if link1 == '':
counter += 1
link1 = message.text
elif link2 == '':
counter += 1
link2 = message.text
elif link3 == '':
counter += 1
link3 = message.text
davy.ai
Hay algunos problemas con el código proporcionado. Un problema es que las variables
link1
,link2
ylink3
no están definidas dentro del alcance de la funciónurl
. Otro problema es que la variablecounter
no se está utilizando correctamente.Aquí hay una posible solución:
En esta solución, definimos una variable de lista
links
para almacenar los enlaces. La funciónmessage_handler
verifica si el mensaje contiene un enlace y si la lista tiene menos de 3 enlaces. Si se cumplen ambas condiciones, el enlace se agrega a la lista y se envía un mensaje de respuesta para confirmar que el enlace se guardó. Si la lista ya tiene 3 enlaces, se envía un mensaje diferente para informar al usuario que no se pueden agregar más enlaces.¡Espero que esto ayude!