Telegram Status Monitor

Nunca os he hablado aquí de Telegram, un sistema de mensajería instantánea, que además de gratuito, es de código abierto. Como WhatsApp, está disponible para Windows Phone, iOS, Android y Web. Pero además ofrece versiones de escritorio para Windows, OS/X, y Linux, lo cual es una gran comodidad. Sin necesidad de escanear códigos QR en pantalla ni nada parecido.

El único problema que tiene, es que la cantidad de usuarios que usan Telegram, son muchos menos que WhatsApp o Line, así que no podrás prescindir de las otras Apps. Tal vez todo cambie pronto, pues recientemente, a pesar de declaraciones anteriores afirmando que Telegram quería posicionarse como la mejor plataforma de mensajes de texto, y que no incorporarían llamadas, lo han hecho. Ya se pueden hacer llamadas de audio con Telegram, en toda Europa, y en los próximas semanas, lo van a ir extendiendo al resto de países. Tal vez las videollamadas con Telegram, sean el siguiente paso. Por lo demás, también permite el envío de archivos, y notas de audio.

Como cosas buenas, almacena todos nuestros datos en la nube (cloud), así que aunque borremos archivos, fotos, o vídeos de nuestro dispositivo siempre los tendremos disponibles, sin necesidad de gastar espacio de almacenamiento. Ofrece un sistema de bots muy potente, y es además muy ligero.

Desde que publiqué Opera no muestra imágenes de Tinypic, posterior a Prefetch Google Ads para Opera, no había tenido ocasión de programar alguna utilidad de este estilo.

Este script, se encarga de monitorizar el estado del contacto seleccionado cada segundo, y registrar en la consola del navegador, cuando éste cambia. Así podrás saber a qué horas se conectó, cuanto rato estuvo activo, etcétera.

Supongo que hay muchos usos para este tipo de soluciones. El caso, es que si lo que necesitas, es poder registrar los cambios de estado que se producen en un contacto de Telegram, puedes aprovechar Telegram Web, y ejecutar este script en tu navegador.

Usarlo es muy sencillo:
1) Accede a web.telegram.org normalmente.
2) Escoge el contacto a supervisar.
3) Abre la ventana de chat con él.
4) Abre la consola de depuración de tu navegador (CTRL-SHIFT-I), y pega el código que se muestra a continuación al completo.
5) Pulsa ENTER.

En la consola de depuración, irás viendo entradas como estas:
[TELEGRAM MONITOR] 11/4/2017 8:36:57 Javier Gutiérrez última vez hace 2 minutos
[TELEGRAM MONITOR] 11/4/2017 8:37:10 Javier Gutiérrez en línea
[TELEGRAM MONITOR] 11/4/2017 8:37:17 Javier Gutiérrez última vez hace un momento
[TELEGRAM MONITOR] 11/4/2017 8:37:22 Javier Gutiérrez en línea
[TELEGRAM MONITOR] 11/4/2017 8:37:57 Javier Gutiérrez última vez hace un momento
[TELEGRAM MONITOR] 11/4/2017 8:39:11 Javier Gutiérrez en línea
[TELEGRAM MONITOR] 11/4/2017 8:39:19 Javier Gutiérrez última vez hace un momento
[TELEGRAM MONITOR] 11/4/2017 8:39:20 Javier Gutiérrez en línea
[TELEGRAM MONITOR] 11/4/2017 8:39:48 Javier Gutiérrez última vez hace un momento
[TELEGRAM MONITOR] 11/4/2017 8:41:16 Javier Gutiérrez última vez hace 1 minuto
[TELEGRAM MONITOR] 11/4/2017 8:42:46 Javier Gutiérrez última vez hace 2 minutos
[TELEGRAM MONITOR] 11/4/2017 8:44:16 Javier Gutiérrez última vez hace 4 minutos
[TELEGRAM MONITOR] 11/4/2017 8:45:46 Javier Gutiérrez última vez hace 5 minutos

Si te es más cómodo, puedes aplicar un filtro en la consola, para mostrar todas las salidas de tipo INFO, que contengan el texto [TELEGRAM MONITOR], y así tendrás un registro limpio de advertencias y errores del navegador.

Una particularidad de muchos navegadores web, es que cuando la pestaña no está activa, a veces suspenden la ejecución de código con el fin de ahorrar energía. Por lo que te recomiendo que la dejes abierta en primer plano. Mientras tengas el foco fuera de la ventana de chat, por ejemplo en la consola de depuración, no aparecerás como «En linea» para el resto.

/**
* Logs Telegram Web Web (web.telegram.org) status changes for the selected contact.
* Very useful for monitorying in background "Online" / "En línea" for a particular chat.
* Open Telegram Web as usual, go to the contact you want to monitor, and then execute this code.
* In Chrome/Chromium/Opera/Vivaldi and Firefox/SeaMonkey, press CTRL-SHIFT-I to open the Developer Console, and then paste the whole contents and press ENTER.
* @summary Telegram Web Status Monitor.
* @version 1.0 (2016/04/10)
* @license LGPL
* @author Javier Gutiérrez Chamorro (Guti) - https://www.javiergutierrezchamorro.com
*/
"use strict";
var msStatus = '';
setInterval(function()
{
	var sNewStatus;
	var sContact = '';
	if ((document.getElementsByClassName('tg_head_peer_title'))  && (document.getElementsByClassName('tg_head_peer_title').length > 0))
	{
		sContact = document.getElementsByClassName('tg_head_peer_title')[0].innerText;
	}
	if ((document.getElementsByClassName('tg_head_peer_status')[0]) && (document.getElementsByClassName('tg_head_peer_status')[0].getElementsByTagName('span')[0].innerText))
	{
		sNewStatus = document.getElementsByClassName('tg_head_peer_status')[0].getElementsByTagName('span')[0].innerText;
	}
	else
	{
		sNewStatus = '';
	}
	if (sNewStatus != msStatus)
	{
		msStatus = sNewStatus;
		console.log('[TELEGRAM MONITOR] ' + new Date().toLocaleString() + ' ' + sContact + ' ' + msStatus);
	}
}, 1000);

Actualizado a sábado 5 de enero de 2019. 9:50:
Sorprendentemente, y casi dos años después de que creara el código, lo he vuelto a ejecutar sobre la última versión de Telegram Web (0.7.0), y sí, ¡sigue funcionando perfectamente!

Telegram Status Monitor

24 comentarios en “Telegram Status Monitor”

  1. Aquí en México, el único día en que Telegram ganó algo de popularidad fue aquel día en que Whatsapp estuvo caido

  2. Javier Gutiérrez Chamorro (Guti)

    En España es más o menos igual Kabe. Solamente los usuarios avanzados conocen las ventajas de Telegram, por lo que en cualquier caso necesitarás WhatsApp, para comunicarte con el resto de contactos.

  3. qué buena utilidad, Guti, muchas gracias por compartirla. No tengo Telegram, esas aplicaciones mi móvil no puede usarlas, pero si tiene la opción web tal vez la pruebe y verá que tal resultado me da. Por lo que cuentas tiene cosas que me resultan mucho más atractivas que whatsapp, y si es tipo Twitter, mucho mejor.

    El código, qué decir, típico tuyo: eficiente y limpio. La verdad es que programas que es una maravilla.

  4. Javier Gutiérrez Chamorro (Guti)

    Muchas gracias por las alabanzas BiaNamaran, pero no se merecen, es un código realmente sencillo.

    Pues estás de suerte, porque para usar Telegram, sólo necesitas un número de teléfono, a la que la plataforma te enviará un SMS para verificar que efectivamente es tuyo.

    Luego, puedes acceder de muchas formas, además de usando su App, quizás las que más te interesen son:
    Telegram Web: Es sobre la que funciona esta utilidad, no requiere instalar nada, sólo un navegador web tipo Chrome o Firefox.
    Telegram Desktop: Es una aplicación para PC, Mac y Linux, que no deja de ser la versión web anterior, pero encapsulada sobre un navegador standalone basado en Webkit (antes era NodeWbkit/NW.JS).

    En principio, me parecen soluciones muy interesantes, ya que a diferencia de por ejemplo WhatsApp, no requieren que tengas un Smartphone de última generación para usarlo.

  5. Interesante utilidad. Había visto cosas parecidas con WhatsApp pero con mucho más trabajo detrás que te dibujaban un gráfico y todo de cuando ha estado conectada la persona.

    En mi caso he de decir que soy muy afortunado y puedo usar Telegram todos los días para comunicarme con mis familiares directos y con bastantes amigos. e Además existen grandes grupos de discusión con el espíritu de los IRC (los hay de Java, Python, Debian, Antergos, …) y lo que me parece que está haciendo ganar a muchos usuarios últimamente, la piratería. Sí, porque Telegram está lleno de canales que pasan películas, series, programas, música. Al contrario que WhatsApp, Telegram los almacena y los puedes descargar a máxima velocidad en cualquier momento y dispone de un buen motor de búsqueda para encontrar mensajes de hace años.

    Lo de los bots está muy bien pero en realidad apenas los uso. Muchas veces con los de votación, buscar imágenes en Yandex, YouTube y el de los spoilers ya te vale. Hay alguno interesante para descargar el audio de los vídeos de YouTube y para descargar APKs de forma manual (sin pasar por Google Play).

    Saludos!

  6. Javier Gutiérrez Chamorro (Guti)

    Soy consciente de los canales de «contenido alternativo» en Telegram, Adrián Arroyo. Lo que me planteo, es que si la red Telegram, no tiene ningún apoyo comercial serio, hasta cuando va a dar de si el ancho de banda para seguir con estos contenidos, ¿antes de que lo eliminen? Es decir, a medida que se haga más popular, no como herramienta de mensajería, sino como herramienta de piratería, más riesgo hay de que se acabe.

  7. Solamente los usuarios avanzados conocen las ventajas de Telegram, por lo que en cualquier caso necesitarás WhatsApp, para comunicarte con el resto de contactos.
    ————-
    precisamente ese es el problema, hay mejores aplicaciones que whatsapp, ¿pero que usa la gente?, whatsapp.

  8. Javier Gutiérrez Chamorro (Guti)

    Efectivamente Manuel. Esperemos que con las nuevas capacidades, poco a poco vaya siendo más popular.

  9. Hola, muy buen trabajo, ahora una pregunta, cuando un contacto oculta su conexion, osea que puede estar conectado pero aparece el aviso de last seen recenly ya ahi no la monitorearia no?

  10. Javier Gutiérrez Chamorro (Guti)

    Muchas gracias Jhonny. Aunque su estado esté oculto, registrará los momentos en que se encuentre «En linea», y de este modo, ver la hora de su última conexión.

  11. Habría alguna manera de saber de este monitoreo de conexión para el móvil y así no tener que tener abierto el PC? Gracias!!!

  12. Javier Gutiérrez Chamorro (Guti)

    Realmente adolfo la idea se puede implementar sobre cualquier plataforma. Android, iOS, … Desafortunadamente la programación es completamente diferente en una y otra. Para móvil habría que usar la API de Telegram, es decir, es un esfuerzo grande.

    Te animo a que lo hagas y lo compartas con todos nosotros.

    Un saludo.

  13. Ya me gustaría, pero no sé nada de programación. ¿Conoces alguna app que monitoree la conexión de telegram? Gra cias

  14. He encontrado una app para telegram, pero no me funciona. Se llama TG Tracker.
    Cuales apps me recomendarías para Whatsapp?
    Gracias Javier

  15. Ya ha llovido desde entonces aunque no es muy viejo pero el día que vi Telegram en el Play Store me desinstale Whatsapp y los contactos que quieren comunicase conmigo lo tienen que usar.
    Lo tengo instalado en todos mis dispositivos y como me tengo agregado a mi mismo lo utilizo para pasar información,APPs, programas pequeños,algunos Mp3 y sobre todo recordatorios de compras, paginas webs, etc.
    Es muy útil y versátil.

  16. Javier Gutiérrez Chamorro (Guti)

    ¡Qué afortunado Pepe Casio. Yo lo intenté, pero pocos de mis contactos instalaron Telegram, así que me veo obligado a usar ambas. Telegram, y WhatsApp.

  17. Buenis días
    No soy ni mucho menos experto en esto a ti que agradecería tu ayuda
    He abierto Telegram en Telegram web, he elegido el contacto y he abierto la pestaña de chat. A continuacion abierto la consola pero ya no se que hacer
    No se a que código te refieres, ni tampoco que pestaña debo tener abierta entre elements console sources etc
    Gracias de antemano

  18. Javier Gutiérrez Chamorro (Guti)

    Gracias por tu mensaje Retac. Veo que estás en el paso 4:
    4) Abre la consola de depuración de tu navegador (CTRL-SHIFT-I), y pega el código que se muestra a continuación al completo.

    Ya has abierto la consola de depuración, y lo que te falta es acceder a la pestaña console y pegar el código completo del script. En todo caso ten en cuenta que el código tiene ya casi dos años de antigüedad, y puede que no funcione en absoluto, o no lo haga parcialmente.

  19. Javier Gutiérrez Chamorro (Guti)

    El código es el que hay completo que hay al final del artículo, justo antes del logo de Telegram.

  20. Javier Gutiérrez Chamorro (Guti)

    Acabo de probarlo con Telegram Web 0.7.0 y usando Chrome 70. Me ha funcionado correctamente. ¿Qué navegador has usado? ¿Has copiado y pegado el código entero?

Deja un comentario