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í:
- chat_name_that_you_want_to_download
/ 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