Mendotran-whatsapp-bot, como su nombre bien indica, es un bot para WhatsApp el cual nos permite, valiéndose del servicio Mendotran, saber los horarios de una parada de colectivos a través del uso de comandos.
Fuente de la fotografía: "MendoTran: comenzaron a instalar la señalética en algunas paradas" - Diario El Sol Mendoza
Note
Puede omitir la "M" y dejar solo el número de parada.
En el caso que la parada no posea cartel, o el mismo esté vandalizado, el bot puede localizarla usando su ubicación.
Con este comando podrá solicitar los horarios de una estación de metrotranvía.
Note
Este comando admite 3 formas de ser invocado: "estación" (con o sin tilde), "metro" y "metrotranvía".
- Instalación
- ¿Cómo funciona?
- Parada cercana a tu ubicación
- Pros y contras
- Lista de comandos
- Cosas por hacer
Núcleo del bot: udmilla-whatsapp-bot. Librería: whatsapp-web.js
git clone https://github.com/Lautauro/mendotran-whatsapp-bot.git
cd mendotran-whatsapp-bot
npm i
npm run build
npm start
La primera vez que inicie el servidor sucederán dos cosas:
- Se generará una base de datos local que servirá para comunicarse con Mendotran.
- Tendrá que sincronizar, a través del escaneo de un QR, la cuenta que usará de bot.
Fuentes: smartphone.svg whatsapp-icon.svg server.svg
La primera vez que inicie el bot (como ilustra la imagen de abajo) hará una serie de peticiones al servidor de Mendotran con el fin de generar una base de datos local del mismo, ésta contendrá información sobre los colectivos y paradas de la ciudad de Mendoza. Luego de generarla puede encontrar el archivo en /build/json/mendotran-data.json .
Así se verá más o menos la estructura de la base de datos:
"stops": {
"M8845": {
"id": "1606_62489",
"position": {
"lat": "-33.2228834",
"lon": "-68.8925633"
},
"address": "Av. San Martín (Luján de Cuyo, Mendoza)",
"busList": [
"701",
"705",
"704",
"708"
]
}
},
"buses": {
"701": {
"linea": "701",
"id": "1606_166733",
"shortName": "701 UGARTECHE - Bº TIERRA SOL Y LUNA",
"color": "🟦"
}
}
Todos esta información será de gran utilidad para el bot a la hora de solicitar los horarios de un colectivo. Si por algún motivo quiere o necesita regenerar este archivo, bastará con iniciar el bot de la siguiente manera:
npm run refresh
Así se creará una nueva base de datos y el archivo viejo será conservado bajo el nombre de mendotran-data.json.old .
Note
En mi experiencia el número de paradas de colectivo que recolecta varía según si se hace un día de semana o un fin de semana. No estoy seguro del porqué de esto pero es necesario que lo mencione.
Si se desconoce el número de parada, enviando una ubicación al bot y respondiendo a la misma con alguno de los comandos, el sistema se encargará de buscar la parada más cercana y despachar sus horarios.
Comando "micro" para saber los horarios de UNA línea en específico:
Comando "parada" para mostrar los horarios de TODOS los colectivos de una parada:
PROS | CONTRAS |
---|---|
En caso de tener WhastApp gratis con su compañía de celular, no necesita gastar datos entrando a la app oficial de Mendotran. | Usted deberá hostear el bot por su cuenta en un servidor, o bien valerse de uno alojado por otro usuario. |
Puede hasta ser más rápido que usar la aplicación oficial. Esto dependerá de la velocidad del servidor y de la experiencia previa del usuario con el uso de bots. | Requiere más o menos tiempo habituarse a la lógica de los comandos. Habrá personas que prefieran el uso de una interfaz gráfica de usuario (GUI) antes que una interfaz de texto (TUI). |
Si la privacidad le parece un tema importante, en principio ésta forma de usar el servicio debería ser más privada, ya que no es el cliente quien hace las peticiones a Mendotran sino el servidor (Menos riesgo de recolección de datos). Más info en como usa nuestros datos la app oficial aquí. | Estás usando WhatsApp, si la privacidad es algo que te concierne probablemente estés en el sitio equivocado. Mendotran afirma en su Play Store que no recolecta datos del usuario, sin embargo se contradice en las políticas de privacidad de su sitio web. |
No tiene que tener instalada la aplicación de Mendotran en su celular, lo que es igual a más espacio libre. | Necesita saber el número de la parada de colectivos, en el caso contrario puede pedirle al bot que busque la parada más cercana a su ubicación actual. Esto último hace que pierda sentido el punto de usar menos datos, ya que Google Maps haría uso de los mismos. |
Alias | Sintaxis | Función | Ejemplo |
---|---|---|---|
Micro M |
Micro [Línea] [Nº de parada] | Obtener los horarios de un colectivo en una parada. | Micro 120 M14408 (La "M" es opcional) |
Parada P |
Parada [Nº de parada] | Obtener todos los horarios de una parada de colectivos. | Parada M5707 (La "M" es opcional) |
Estación Metro Metrotranvía |
Estacion [Nombre de la estación] | Obtener los horarios de una estación de metrotranvía. | Estacion Godoy |
Ayuda Help ? |
Ayuda [Comando] | Solicitar información sobre el uso de un comando. | Ayuda Micro |
También existe la alternativa de localizar una parada por cercanía. Tan solo basta con enviar una ubicación, citarla y utilizar alguno de los comandos. Vea el ejemplo.