En la compilación beta de Telegram para macOS 13.0.283320 del 15 de octubre, apareció una nueva pantalla de código QR de perfil. En el código, se le llama estudio QR: el fondo y el patrón alrededor del código se componen de un regalo coleccionable, de emoji premium o de un color. En la misma pantalla hay un interruptor «Remove message fee»: este convierte el código QR y el enlace derivado en un pase para evitar la tarifa de mensajes; quien lo utilice, le escribirá al propietario de forma gratuita. Esto aplica a quienes cobran Stars por los mensajes entrantes y a quienes les escriben. Por ahora, las funciones solo están disponibles en la beta para Mac, y no en el esquema API abierto.
¿Qué apareció en la compilación 13.0.283320?
La beta de macOS se distribuye a través del feed de actualizaciones mac-updates.telegram.org. El 15 de octubre, se lanzaron tres compilaciones consecutivas: 283318 por la mañana, 283320 y 283321 por la tarde. La interfaz de ambas funciones aparece en la 283320: el módulo QrStudioUI y el archivo de núcleo NoPaidMessagesToken. Las descripciones de los tipos de API para el enlace gratuito ya estaban en el cliente desde la 283318 de la mañana, pero sin una pantalla que las invocara. La compilación 283321 se lanzó cuarenta minutos después de la 283320 y mantuvo ambas funciones.
Los textos de las nuevas pantallas en la beta están escritos directamente en inglés en el código; aún no han llegado a la plataforma de traducción. La excepción son dos cadenas de mensajes de servicio del chat sobre el enlace gratuito: se agregaron al archivo de localización de la misma compilación.
Cómo funciona el enlace sin tarifa de mensajes
En Telegram, puede establecer un precio en Stars por los mensajes de quienes no están en sus contactos. La tarifa se puede eliminar para alguien en particular incluso ahora, manualmente, agregando a la persona a las excepciones: en el esquema API existe el método account.toggleNoPaidMessagesException para esto. La beta añade una segunda vía: la excepción se otorga mediante un enlace, y no es necesario introducir al interlocutor manualmente.
Esto se activa con el interruptor «Remove message fee» en la pantalla del código QR. Después de esto, el código y el enlace derivado contienen un token, que en el cliente se llama noPaidMessagesToken. Quien abre dicho enlace ve «You can now message …» con el nombre del propietario, y sus mensajes son gratuitos a partir de entonces. En el chat, ambos conservan un mensaje de servicio: el propietario ve «… used your link to message you for free», y el que llegó ve «You used …’s link to message for free».
La duración del token se establece en la misma pantalla:
| Cadena en la beta | Qué sucede |
|---|---|
| «Expire after 1 minute» | el código es válido por un minuto — «This code will expire in 1 minute» |
| «This code no longer expires» | el código es ilimitado |
| «New code created. The old one no longer works.» | se emitió un nuevo código, el enlace antiguo dejó de funcionar |
| «Restore message fee» | la tarifa volvió — «Your message fee applies again» |
El código de un minuto, al parecer, está diseñado para un encuentro en persona: mostrar el QR en la pantalla, permitir que se escanee, y después de un minuto, la imagen reenviada ya no abre nada. El cliente recibe un mensaje «This free message link is invalid or has expired» para un enlace caducado o revocado; en este caso, el servidor responde con el error NO_PAID_MESSAGES_TOKEN_INVALID.
En qué se diferencia esto del enlace «añadir a contactos»
Telegram tiene desde hace tiempo un enlace de invitación temporal para añadir a contactos: en el esquema abierto, es contacts.exportContactToken, y la respuesta exportedContactToken contiene la dirección y la fecha de caducidad. En la beta, junto a este, apareció el tipo exportedNoPaidMessagesToken y el mensaje de servicio messageActionNoPaidMessagesTokenUsed. Ambos no están en el esquema abierto de la capa 230. Funcionan bajo el mismo esquema —el servidor emite un token con una duración, el cliente lo coloca en un enlace—, pero el token no añade a contactos, solo elimina la tarifa de mensajes.
Cómo funciona el estudio QR
La pantalla del código QR de perfil en Telegram existe desde hace mucho tiempo; en los clientes móviles, se personaliza con temas de chat. El estudio QR los reemplaza con tres pestañas —en el código qr_studio_tab_gift, qr_studio_tab_emoji y qr_studio_tab_color:
- Regalo. Debajo del código se coloca el fondo de un regalo coleccionable, y alrededor se repite su símbolo, con el mismo patrón que adorna el regalo.
- Emoji. El patrón se compone de emoji premium, es decir, emoji personalizados de paquetes disponibles con Telegram Premium.
- Color. El fondo se elige de una paleta de colores.
Al lado hay un botón de día y noche: cada opción se dibuja en versión clara y oscura. El cliente no almacena el conjunto de fondos, sino que los solicita al servidor como una lista shareThemeBackdrops y los almacena en caché; el tipo tiene una variante shareThemeBackdropsNotModified, con la que el servidor responde «la lista no ha cambiado».
El diseño seleccionado no se guarda en el dispositivo, sino en el servidor, como una configuración de cuenta: en el núcleo es ShareTheme con las variantes shareThemeGift, shareThemeEmoji, shareThemeColor y shareThemeDefault, y el regalo para el fondo se transmite con el tipo inputShareThemeGift. Esto significa que el mismo código QR se verá igual en todos los dispositivos del propietario. La tarjeta final se puede exportar como imagen; el módulo tiene una escena de exportación separada con el código, el patrón y una pegatina.
La emisión de un nuevo código tiene su propia animación: las capas de la pantalla se llaman QrStudioShatter, QrStudioAshLayer y QrStudioParticle. A juzgar por los nombres, el código antiguo se desintegra en cenizas al ser reemplazado, y uno nuevo se forma en su lugar; para un código que acaba de dejar de funcionar, es una despedida honesta.




