Joan Cano 27cdde1d14 Merge branch 'jocaru-main-patch-60539' into 'main'
Updated time between queries to 5 minutes

See merge request homelabers/wallamanta!1
2023-03-07 14:59:50 +00:00
2023-03-07 11:18:55 +01:00
2023-03-07 14:59:37 +00:00
-
2023-03-01 22:19:10 +01:00

wallamanta

Instalación y ejecución

Crea un bot en Telegram a través de @Botfather, guárdate el token generado y abre una conversación con él. Obtén tu ID de chat hablándole a @myidbot y escribiéndole /getid.

Rellena el archivo .env (puede que esté oculto, pero está ahí, al lado del docker-compose.yml!) con los valores que has obtenido para TELEGRAM_CHANNEL_ID y para TELEGRAM_TOKEN, en LATITUDE y LONGITUDE pon tus coordenadas aproximadas (con punto .) y en SLEEP_TIME el tiempo en segundos que desees entre peticiones a Wallapop (no pongas 1 segundo, que nos conocemos).

Ejecuta docker-compose up -d para arrancar el bot, puedes consultar los logs con docker logs wallamanta-bot -f si no le has cambiado el nombre en el docker-compose.yml.

Instrucciones de uso

Para interactuar con el bot, una vez esté ejecutado, abre la conversación con él. Tienes disponibles los siguientes comandos:

  • /help - Muestra una ayuda básica con algún ejemplo

  • /add - Añade un producto al seguimiento, úsalo con /add nombre del producto;precio_mínimo;precio_máximo para un seguimiento básico. Si quieres un seguimiento más específico, tienes los siguientes campos disponibles (los campos opcionales no hace falta ponerlos, pero si quieres poner los del final, tienes que dejar los anteriores vacíos):

    • nombre del producto (requerido) - puede contener espacios
    • precio mínimo del producto (requerido) - en €
    • precio máximo del producto (requerido) - en €
    • excluir palabra/s del título (opcional) - separadas por coma, pueden incluir espacios (ejemplo: /add placa base;0;100;itx,lga 1150)
    • excluir palabra/s del título y la descripción (opcional) - igual que el anterior
    • latitud (opcional) - específica para ese producto
    • longitud (opcional) - específica para ese producto
    • distancia (opcional) - en km
  • /list - Lista los productos en seguimiento, si quieres ver los detalles de un producto en concreto escribe /list nombre del producto

  • /remove - Borra un producto del seguimiento, para usarlo escribe /remove nombre del producto (tal y como aparece en la lista)

Cuando un artículo esté en seguimiento, el bot hará una primera búsqueda en la que no mostrará nada, pero se guardará los resultados de forma interna. Cada SLEEP_TIME segundos volverá a realizar la misma búsqueda y si ve que ha aparecido un producto que antes no estaba, lo mostrará en el chat de Telegram que hayas indicado, siempre que cumpla con las condiciones especificadas al añadirlo.

Ejemplos

Si te interesa una placa base, pero no quieres que el título contenga las palabras itx o lga 1150, pero te da igual lo que haya en la descripción y quieres que esté como mucho a 100km de tus coordenadas por defecto:

/add placa base;0;100;itx,lga 1150;;;;100

Datos guardados

El bot guarda automáticamente la lista de productos en seguimiento en data/products.json, por lo que si tienes que reiniciar o recrear el bot, los productos que tuvieras en seguimiento seguirán ahí.

Actualización

Si necesitas actualizar el bot, vuelve a descargarte el repositorio (o actualízalo con un git pull ;) ) y haz un docker-compose build, luego vuelve a hacer un docker-compose up -d y ya tendrás la nueva imagen corriendo. ¡Vigila con los archivos .env y data/products.json para no perder los datos que tenías!

Description
No description provided
Readme 258 KiB
Languages
Python 99.1%
Dockerfile 0.9%