Stickers de Line para WhatsApp


Tras años de desarrollo, WhatsApp ha lanzado su servicio de stickers, función disponible en la práctica totalidad de aplicaciones de chat móvil y que es leitmotiv y principal fuente de ingresos de su rival, Line.

Por extraño que parezca, formo parte de ese porcentaje marginal de personas que no utiliza WhatsApp. Al principio, la falta de seguridad fue el principal motivo para elegir Line como app de mensajería y obligar a todos mis amigos a utilizar este canal de comunicación si querían mantener el contacto conmigo. Sin embargo, esta razón hace mucho que dejó de aplicarse y su colaboración con Signal ha convertido a WhatsApp en una aplicación de referencia en cuanto a privacidad. Aunque WhatsApp debería llevar a cabo una serie de medidas para mejorar su diseño, ya considero que resulta una app viable y recomendable para cualquier usuario. Entonces, la razón por la que no migraba a este servicio en el que está todo el mundo es tan absurda que resulta embarazosa. Con el tiempo he llegado a encariñarme con los stickers de Line e incluso he cometido la ignominia de gastarme dinero en comprar algunos paquetes de stickers como si fuera una vulgar y frívola JK japonesa.

No estaba dispuesto a renunciar a los stickers de Line así que hasta que no he podido llevarlos a WhatsApp, no he migrado. Aunque el proceso no es intuitivo, hay que reconocer que Line nos lo pone muy fácil, como explicaré a continuación.

Para empezar, hay que obtener el ID de los stickers. No hay que hacer ingeniería inversa del binario ni un sniff de la red; Line nos deja buscarlos en su tienda. Voy a utilizar a lo largo de todo este ejemplo el paquete de stickers de Alicia en el País de las Maravillas. En la URL encontramos su ID, 1228.

Aunque podríamos descargar de esa dirección todos los stickers, vamos a irnos a un directorio que no han ocultado adecuadamente, donde podemos descargar el paquete original, desde sus propios servidores. Las negligencias de Line nos facilitan el trabajo enormemente. Podemos descargarlo directamente ejecutando

curl -s https://dl.stickershop.line.naver.jp/products/0/0/1/1228/iphone/[email protected]

Después de descomprimirlo con unzip obtenemos una carpeta con stickers en formato PNG. WhatsApp nos obliga a utilizar imágenes WEBP de 512x512. Previamente vamos a eliminar las imágenes duplicadas que sirven de thumbnail para evitar convertirlas sin motivo.

También podemos aprovechar para seleccionar los stickers definitivos ya que WhatsApp no admite más de 30 por paquete y los de Line suelen contener 40. Una vez terminado este proceso, ya podemos empezar con la conversión, de la mano de ImageMagick

mogrify -resize 512x512 -gravity center -background none -extent 512x512 -format webp *.png

El icono de la bandeja necesita unos parámetros específicos

convert [email protected] -gravity center -background none -extent 96x96 tray.png

Personalmente, no me gusta la denominación de los archivos de stickers de Line, así que voy a renombrarlos en lote

for i in *.webp; do mv "${i}" "${i/@2x/}"; done

Ya solo falta seguir las instrucciones oficiales para construir la app en Android Studio. A partir de este punto solo voy a facilitar un oneliner para generar el array de hashes del contents.json

for i in *.webp; do echo \{\"image_file\": \""${i}"\"\}, ; done

La metodología que sigue WhatsApp para distribuir stickers a través de apps nativas me parece totalmente desproporcionada y supongo que en el futuro sea tan sencillo como Telegram, si permiten a los usuarios finales agregar sus propios packs. Hasta que llegue ese momento, esta es la mejor forma de disfrutar de nuestros stickers de Line en WhatsApp y aprovechar así las ventajas de esta app en términos de la Ley de Metcalfe.