Guardar el registro de chat de Telegram


22

No puedo guardar el registro de chat con Telegram. Telegram en Android, Mac OS X, Windows y Linux no dan esta opción al usuario, que yo sepa. Esta es una característica básica y es decepcionante y sorprendente que este software no lo tenga.

Hay una solicitud para esta función aquí .

Tal vez haya una solución alternativa porque todo el historial se carga en el dispositivo cuando se desplaza hacia atrás.

¿Es posible capturar / guardar el historial de chat cargado en el dispositivo, hacer una copia de seguridad local del registro de chat?

Respuestas:


2

Exportación oficial de datos

Del 23 al 24/06/2018 Telegram agregó esta opción, como parte de los cambios de GDPR.

Ahora puede solicitar descargar todos sus datos, y así puede obtener sus registros de chat.

  • Soporte de Telegram para exportación de datos :
    • Telegram Desktop: desde 1.3.8 o superior
    • Telegram para Android: desde 4.8.10 o superior
    • Telegram para iOS: desde 4.8.3 o superior
    • Telegram Webapp - aún no disponible
    • Telegram para Windows Phone: ni idea

Puede enviar un mensaje al @GDPRbot para solicitar su exportación de datos, o desde la configuración de la aplicación si ya está disponible.

Nota: Por razones de seguridad, la exportación de datos no es inmediata, por lo que en caso de que alguien tome el control de uno de sus dispositivos, no podrá descargar de inmediato todos sus datos.

Lea el aviso completo de la exportación de preguntas frecuentes de Telegram

Demostración de Telegram Desktop

Otras opciones (de GitHub)


6

tg (telegram-cli) acepta scripts Lua. Aquí está mi script que guarda tantos mensajes como desee en una base de datos sqlite.

https://github.com/psamim/telegram-cli-backup


1
¡Bienvenido a Super User! En este sitio de preguntas y respuestas valoramos las respuestas. Los hipervínculos solos tienden a apuntar hacia una respuesta sin ser realmente uno. Edite su respuesta para que incluya los elementos esenciales de su fuente vinculada, por ejemplo, su propio script.
Ob1lan

1
Hola, probé el guión. Funciona de maravilla. Pero no hace una copia de seguridad de los medios, ¿verdad? o estoy haciendo algo mal?
neo

@Junaid No, no hace una copia de seguridad de los archivos multimedia en este momento. Los archivos multimedia están separados de los mensajes. Se debe hacer una solicitud para cada mensaje de medios.
Samim

5

Creé mi propio script basado en @ Samim's en una esencia .

Se imprime en un archivo para que pueda guardarlo como desee, en lugar de utilizar una base de datos SQL. Además, tiene una función de suspensión para que pueda ver un mayor número de historiales de diálogos. Todavía está limitado por telegram-cliel límite duro de 100. Lo cambié editando la fuente y elevando el límite.


¿Puede su script guardar archivos multimedia y archivos adjuntos?
Teo

Solo mencionan el tipo de medio
vedant

¿me puede guiar cómo puedo cambiar el límite? ¿Qué parte del código de telegram-cli debe cambiarse?
Ali Nfr

3

Responder :

No es posible hacer una copia de seguridad de su historial de chat de forma automatizada con la aplicación oficial, esta función aún no se proporciona

Solución alternativa:

Todavía puedes hacerlo manualmente; probado en cliente oficial en windows

  • Abre una ventana de chat
  • Haga clic en el último mensaje Enviado / Recibido y mantenga su clic
  • Mueva el mouse hacia arriba para seleccionar todos los mensajes
  • Haga clic derecho para copiar los mensajes
  • Guárdelos en un archivo de texto o de lo contrario

66
Gracias por intentar responder mi pregunta. Cuando tiene muchos mensajes, esta solución llevaría mucho tiempo. Además, las imágenes y los videos no se incluyen durante la copia y el pegado. Por lo tanto, no aceptaré esto como respuesta.
Teo

Hice este trabajo para un chat de varios miles de mensajes (guardé las imágenes y el audio de las carpetas de telegramas por separado). A menos que esta sea la única forma de hacerlo a mano, es mejor que nada ;-)
anneblue

2

Encontré una bonita biblioteca php que funciona sobre telegram-cli https://github.com/zyberspace/php-telegram-cli-client

Hay un script que descargará todos los mensajes y archivos.

<?php
require('vendor/autoload.php');
$telegram = new \Zyberspace\Telegram\Cli\Client('unix:///tmp/tg.sck');

$chat = 'chat_name_that_you_want_to_download';

$limit = 50;
$offset = 0;

function save($msg)
{
        $path = '/path/where/you/want/to/store/messages';
        file_put_contents($path . '/' . $msg->id, json_encode($msg));
}

function download($telegram, $msg)
{
        $response = $telegram->exec('load_' . $msg->media->type, $msg->id);
        $msg->media->path = $response->result;
}

while($msgList = $telegram->getHistory($chat, $limit, $offset)) {
        $offset += $limit;
        foreach($msgList as $msg) {
                if (isset($msg->media)) {
                        download($telegram, $msg, $msg->media->type);
                }
                save($msg);
        }
}

Tienes que cambiar dos cadenas aquí:

  1. chat_name_that_you_want_to_download
  2. / ruta / where / you / want / to / store / messages

    • El script guardará cada mensaje (del chat "chat_name_that_you_want_to_download") como un archivo separado en la carpeta "/ ruta / where / you / want / to / store / messages".
    • Cada archivo contiene una representación json de mensaje.
    • Para los archivos habrá "media-> ruta" con la ruta al archivo descargado.
    • Los archivos se almacenarán en la carpeta predeterminada de telegram-cli: ~ / telegram-cli / downloads

0

La manera simple si desea exportarlo a texto o HTML (si desea que sus mensajes sean de color).

Usted puede

  • iniciar con telegram-cli
  • abre tu historial de chat
  • exporta el contenido de tu terminal

En mi caso uso Konsole, así que lo hago File> Save output as, lo prefiero en HTML.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.