Bot con interfaz web para búsqueda y monitorización de productos de segunda mano en Wallapop, Milanuncios, CEX y Cash Converters. Define búsquedas por producto y rango de precio, y Wallabot las reescanea periódicamente avisándote solo de lo nuevo (o de bajadas de precio), sin repetirte anuncios ya vistos ni los que ya has descartado.
⚠️ IPs de datacenter/VPS: muchos proveedores de VPS y nube (AWS, DigitalOcean, Hetzner, OVH, etc.) tienen sus rangos de IP bloqueados o marcados como sospechosos por estas plataformas, así que el escaneo puede fallar, devolver resultados vacíos o dar errores si despliegas Wallabot ahí. Se recomienda ejecutarlo desde una conexión residencial (tu propia casa, un NAS, una Raspberry Pi, un LXC en tu red doméstica) o, si lo alojas en la nube, usar un proxy residencial para las peticiones salientes. El bot no trae soporte de proxy integrado por ahora.
Tutorial completo para levantar Wallabot en una máquina Linux limpia (Ubuntu 22.04/24.04), por SSH.
-
Conéctate a la máquina y actualiza paquetes:
ssh usuario@tu-servidor sudo apt update && sudo apt upgrade -y -
Instala Docker y Docker Compose (paquetes oficiales de Ubuntu):
sudo apt install -y docker.io docker-compose-v2 git sudo systemctl enable --now dockerOpcional, para no tener que usar
sudoen cada comando de Docker (hace falta cerrar sesión y volver a entrar para que se aplique):sudo usermod -aG docker $USER -
Clona el repositorio:
git clone https://github.com/0herculabs/wallabot.git cd wallabot -
Configura el entorno:
cp .env.example .env nano .env # ajusta PORT, coordenadas por defecto, admin, notificaciones... -
Levanta el contenedor:
docker compose up -d --build
-
Comprueba que responde (cambia el puerto si no usaste el 12185 por defecto):
curl -I http://localhost:12185/login
-
Accede desde tu navegador a
http://IP-DE-TU-SERVIDOR:12185e inicia sesión (con elADMIN_USERNAME/ADMIN_PASSWORDque hayas puesto en.env, o el que hayas creado a mano condocker compose exec wallabot python -m wallabot.cli create-admin ...).
Importante — no lo expongas directamente a internet. Wallabot no está pensado para eso: no hay HTTPS ni límite de intentos de login incorporado. Para acceder desde fuera de tu red local, usa una VPN como Tailscale o similar, o pon un proxy inverso (Caddy, Nginx) delante con HTTPS y lo dejas accesible solo dentro de esa red privada. Si necesitas abrir el puerto en el firewall de la propia máquina para tu red local/VPN:
sudo ufw allow 12185/tcpPara actualizar a una versión nueva más adelante:
cd wallabot
git pull
docker compose up -d --buildVariables editables en .env (ver .env.example para la lista completa con su valor por
defecto): PORT, SECRET_KEY, DEFAULT_LATITUDE/DEFAULT_LONGITUDE, TIMEZONE,
ADMIN_USERNAME/ADMIN_PASSWORD/ADMIN_EMAIL, SMTP_*, TELEGRAM_BOT_TOKEN,
PUBLIC_BASE_URL.
El volumen wallabot-data se monta en /data dentro del contenedor y ahí se guardan la base de
datos SQLite y la SECRET_KEY autogenerada; persiste entre docker compose down y
reconstrucciones de la imagen.
- Abre una conversación con @BotFather en Telegram.
- Envía
/newboty sigue sus instrucciones: te pedirá un nombre para mostrar y un nombre de usuario (debe terminar enbot, ej.wallabot_tuinstancia_bot). - Al terminar, BotFather te da un token con forma
123456789:ABCdefGhIJKlmnoPQRstuVWXyz. Pégalo enTELEGRAM_BOT_TOKENdentro de tu.envy reinicia el contenedor (docker compose up -d --build). - Este bot es único para todo el servidor: cada usuario, ya desde la web (
Cuenta→Telegram), obtiene su propiochat_idhablando con el bot y con @userinfobot, y lo guarda ahí para activar sus avisos.
| Nueva búsqueda | Resultados |
|---|---|
![]() |
![]() |
| Aviso por email | Aviso por Telegram |
|---|---|
![]() |
![]() |
- Base de datos SQLite, sin servicio de BD separado.
- El scheduler (APScheduler) vive dentro del propio proceso; no hace falta cron ni tareas externas.
- Las notificaciones por email/Telegram son opcionales, vía las variables
SMTP_*/TELEGRAM_BOT_TOKEN; cada búsqueda tiene su propio interruptor de aviso.
Wallabot es un proyecto independiente y no tiene afiliación, patrocinio, autorización ni relación oficial de ningún tipo con Wallapop, Milanuncios, CEX ni Cash Converters. Los nombres, marcas y logotipos de estas plataformas pertenecen a sus respectivos titulares y se muestran aquí únicamente para identificar el origen de cada resultado, sin ánimo de asociación ni de inducir a confusión sobre su procedencia.
Wallabot no elude ningún mecanismo de autenticación, control de acceso, CAPTCHA ni medida de protección técnica: únicamente consulta, mediante peticiones HTTP estándar (las mismas que haría un navegador), información de anuncios que las propias plataformas publican abiertamente para cualquier visitante. No accede a cuentas de usuario, datos privados ni áreas restringidas.
El software se distribuye "tal cual" y sin garantía de ningún tipo bajo licencia MIT (ver
LICENSE); el autor no es responsable de los daños derivados de su uso.
El acceso automatizado a estas plataformas puede estar sujeto a sus propios Términos de Servicio, que pueden cambiar y que Wallabot no garantiza que cumplas en tu caso concreto. Quien despliegue y use este proyecto lo hace bajo su exclusiva responsabilidad, y asume en solitario cualquier consecuencia —incluidas reclamaciones de terceros— derivada de ese uso; el autor queda expresamente exonerado de responsabilidad frente a cualquier reclamación de este tipo. Si alguna de estas plataformas solicitase la retirada o modificación de este proyecto, dicha solicitud se atenderá.





