-
-
Save dcatanzaro/5fc1bbd4753403305be7543d28b2eddf to your computer and use it in GitHub Desktop.
| const axios = require("axios"); | |
| let lastIndexMovement = 0; | |
| const TELEGRAM_BOTID = ""; | |
| const TELEGRAM_CHATID = ""; | |
| class Telegram { | |
| sendTelegramMessage(message) { | |
| const botId = TELEGRAM_BOTID; | |
| const chatId = TELEGRAM_CHATID; | |
| if (!botId || !chatId) { | |
| return; | |
| } | |
| try { | |
| const telegramMsg = encodeURIComponent(message); | |
| const url = `https://api.telegram.org/${botId}/sendMessage?chat_id=${chatId}&text=${telegramMsg}&parse_mode=HTML`; | |
| axios.get(url); | |
| } catch (e) { | |
| console.log(e); | |
| } | |
| } | |
| } | |
| const telegram = new Telegram(); | |
| const getMovimientosGalicia = async () => { | |
| const url = | |
| "https://cuentas.bancogalicia.com.ar/Cuentas/GetMovimientosCuenta"; | |
| const cookies = | |
| ""; | |
| const headers = { | |
| accept: "application/json, text/javascript, */*; q=0.01", | |
| "accept-language": "en-US,en;q=0.9,es;q=0.8", | |
| "content-type": "application/x-www-form-urlencoded; charset=UTF-8", | |
| "sec-fetch-dest": "empty", | |
| "sec-fetch-mode": "cors", | |
| "sec-fetch-site": "same-origin", | |
| "x-requested-with": "XMLHttpRequest", | |
| cookie: cookies, | |
| Referer: "https://cuentas.bancogalicia.com.ar/cuentas/mis-cuentas", | |
| "Referrer-Policy": "strict-origin-when-cross-origin", | |
| }; | |
| const body = ""; | |
| const result = await axios.post(url, body, { headers }); | |
| return result.data.Model.Movimientos; | |
| }; | |
| const init = async () => { | |
| let movementsGalicia = await getMovimientosGalicia(); | |
| movementsGalicia = movementsGalicia.reverse(); | |
| movementsGalicia.forEach((movement) => { | |
| if (movement.IndiceMovimiento > lastIndexMovement) { | |
| lastIndexMovement = movement.IndiceMovimiento; | |
| if (movement.ImporteCredito !== "0,00") { | |
| telegram.sendTelegramMessage( | |
| `<strong>🏦 Banco</strong>: Galicia\n<strong>❗️ Nuevo movimiento:</strong> ${movement.DescripcionAMostrar}\n<strong>💰 Ingreso:</strong> ${movement.ImporteCreditoLabel}` | |
| ); | |
| } else { | |
| telegram.sendTelegramMessage( | |
| `<strong>🏦 Banco</strong>: Galicia\n<strong>❗️ Nuevo movimiento:</strong> ${movement.DescripcionAMostrar}\n<strong>💰 Gasto:</strong> ${movement.ImporteDebitoLabel}` | |
| ); | |
| } | |
| } | |
| }); | |
| }; | |
| setInterval(init, 10000); |
Hace unos meses empecé a hacer esto mismo y me distraje. Protip (?): si le pegás a cierto endpoint keepalive, el homebanking no cierra la sesión nunca, y podés seguir pidiendo este dato sin volver a loguearte.
Bue, me siento tan seguro en este momento 👀
si pongo lo que trae document.cookie la repsonse es = >
data: {
IsError: true,
Model: {
Codigo: 'NULLJSONEXCP',
Descripcion: "Error en 'ErrorAjaxJSon', exception es null",
CerrarSesion: false
}
}a alguien le paso? como se soluciona?
alguien lo hizo para el BBVA?
alguien lo hizo para el BBVA?
https://github.com/yagopajarino/bot-bbva
🚀
Muchas gracias!! Te puedo hacer una consulta?
En cookies mandas toda la cookie quw se genera cuando haces login o solo algunos valores??
alguien lo hizo para el BBVA?
Muchas gracias!! Te puedo hacer una consulta? En cookies mandas toda la cookie quw se genera cuando haces login o solo algunos valores??
Hola! Se la paso entera ;)
alguien lo hizo para el BBVA?
Muchas gracias!! Te puedo hacer una consulta? En cookies mandas toda la cookie quw se genera cuando haces login o solo algunos valores??
Hola! Se la paso entera ;)
tenes idea por que me puede tirar este error? le estoy pasando el 'x-xsrf-token' de la sesion..
data: 'Error 403: Expected CSRF token not found. Has your session expired?\n'
Mandame un dm o un mail y lo vemos
alguien lo hizo para el BBVA?
Muchas gracias!! Te puedo hacer una consulta? En cookies mandas toda la cookie quw se genera cuando haces login o solo algunos valores??
Hola! Se la paso entera ;)
tenes idea por que me puede tirar este error? le estoy pasando el 'x-xsrf-token' de la sesion..
data: 'Error 403: Expected CSRF token not found. Has your session expired?\n'
Mandame un dm por twitter o un mail y lo vemos
Muy bueno Damian! Alguien tiene idea si se puede hacer para Santander?
@tstambulskyRecién de curioso estuve chequeando, hay que adaptar algunas cositas pero se puede seguir la misma lógica tranquilamente
intente hacerlo para el santander y no me funcionó.. si alguno lo hizo y lo quiere compartir, bienvenido será..

Hice el bot en 2 minutos, para mi caso me servia :P, al pedo darle complejidad a un botcito asi.