답변:
Telegram은 2018 년 23 월 24 일부터 GDPR 변경의 일부로이 옵션을 추가했습니다.
이제 모든 데이터 다운로드를 요청할 수 있으므로 채팅 로그를 얻을 수 있습니다.
@GDPRbot 에 메시지 내보내기를 요청하거나 이미 사용 가능한 경우 앱 설정에서 메시지를 보낼 수 있습니다.
참고 : 보안상의 이유로 데이터 내보내기는 즉시 수행되지 않으므로 누군가 사용자의 장치 중 하나를 제어 할 경우 모든 데이터를 즉시 다운로드 할 수 없습니다.
Telegram의 FAQ 내보내기에서 전체 알림을 읽으십시오
tg (telegram-cli)는 Lua 스크립트를 허용합니다. 다음은 sqlite 데이터베이스에 원하는만큼의 메시지를 저장하는 스크립트입니다.
나는 사밈가에서의 @에 따라 내 자신의 스크립트를 생성 요지 .
파일로 인쇄되므로 SQL 데이터베이스를 사용하지 않고 원하는대로 저장할 수 있습니다. 또한 잠자기 기능이있어 더 많은 대화 상자 기록을 사용할 수 있습니다. 여전히 telegram-cli
하드 한계 100으로 제한되어 있습니다. 소스를 편집하고 한계를 높여서 변경했습니다.
공식 애플리케이션을 사용하여 채팅 기록을 자동으로 백업 할 수 없습니다.이 기능은 아직 제공되지 않습니다
여전히 수동으로 만들 수 있습니다. Windows의 공식 클라이언트에서 테스트
- 채팅 창 열기
- 마지막으로 보낸 /받은 메시지를 클릭하고 계속 클릭하십시오.
- 마우스를 위로 움직여 모든 메시지를 선택하십시오
- 메시지를 복사하려면 마우스 오른쪽 버튼을 클릭하십시오
- 텍스트 파일 또는 다른 이름으로 저장
telegram-cli https://github.com/zyberspace/php-telegram-cli-client를 통해 작동하는 예쁜 PHP 라이브러리를 발견했습니다.
모든 메시지와 파일을 다운로드하는 스크립트가 있습니다.
<?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);
}
}
여기에서 두 개의 문자열을 변경해야합니다.
/ path / where / you / want / to / store / messages