codinggames

Tinha que ser o Telegram de novo!

Escrito em 31 de janeiro de 2021 - 🕒 2 min. de leitura

Ora ora ora, esse Telegram tá que tá, eim? Menos de 7 dias depois de não conseguir restaurar o backup das minhas mensagens no Whatsapp, o Telegram anunciou que agora você pode importar mensagens de outros aplicativos de chat. Tinha que ser o Telegram denovo, não é mesmo? Como o Telegram consegue ser tão foda? Desde a última atualização você pode importar seu histórico de mensagens do WhatsApp, Line e KakaoTalk, para isso você precisa exportar seu chat do Whatsapp (por exemplo) e compartilhá-lo com o contato equivalente no Telegram.

Importando para o Telegram

O Telegram disse que eventualmente disponibilizará uma API para que você possa construir seus próprios scripts e importar mensagens de qualquer aplicativo de chat, next level foda! Mas… temos mesmo que esperar essa atualização? Uhmn acho que não eim. Vamos dar uma olhada como é esse arquivo .txt exportado do Whatsapp:

8/13/10, 12:11 - Scott Pilgrim: Qual é o site da Amazon.ca?
8/13/10, 12:12 - Wallace Wells: Amazon.ca..

Então digamos que, como eu, você só tenha acesso ao seu arquivo msgstore.db do Whatsapp, não é possível exportar o chat do Whatsapp, certo? Neste caso você pode usar a ferramenta Whatsapp Viewer para exportar suas mensagens para um arquivo JSON, que fica nesse formato:

{
    "key": "[email protected]",
    "contactName": "Wallace Wells",
    "messages": [
        {
            "timestamp": "2010-08-13T12:11:00Z",
            "fromMe": true,
            "type": "text",
            "text": "Qual é o site da Amazon.ca?"
        },
        {
            "timestamp": "2010-08-13T12:12:00Z",
            "fromMe": false,
            "type": "text",
            "text": "Amazon.ca.."
        }
    ]
}

Agora tudo que você precisa fazer é carregar este arquivo JSON com um script qualquer e converte-lo para um .txt naquele formato. Vamos tentar fazer isso usando Node.js:

const {
    readFileSync,
    writeFileSync,
} = require('fs');

const yourName = 'Scott Pilgrim'; // TODO put your name here

const convertMessageObjToTxt = (messageObj, sender) => {
    // format "2010-08-13T12:11:00Z"
    const dateObj = new Date(messageObj.timestamp);
    const date = dateObj.toLocaleDateString('en-US');
    const time = dateObj.toLocaleTimeString('en-US', { hour12: false }).slice(0, 5);

    // format is "M/DD/YY, HH:MM - Sender's Name: Message"
    return date + ', ' + time + ' - ' + sender + ': ' + messageObj.text + '\n';
}

if (process.argv[2]) {
    // read the JSON file
    const chatJson = JSON.parse(readFileSync(process.argv[2], 'utf8'));
    let txtContent = '';

    chatJson.messages.forEach((message) => {
        txtContent += convertMessageObjToTxt(
            message,
            message.fromMe ? yourName : chatJson.contactName
        );
    });

    // save is as a .txt
    writeFileSync(`${process.argv[2]}.txt`, txtContent);
}

Execute esse script com o comando node script.js seu-arquivo-json.json e o resultado será um arquivo .txt que você pode importar para o Telegram. Facinho, né? O único problema é que você precisa importar este .txt pelo app de celular do Telegram.

Então é isso! Enquanto o WhatsApp pede que você ceda sua privacidade por um aplicativo super merda, o Telegram continua a ser gratuito, com código aberto (o aplicativo, não seus servidores) e com uma API incrível que permite fazer quase tudo. Muito foda!

Tags:


Publicar um comentário

Comentários

Nenhum comentário.