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) - http://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);