Telegramチャットログを保存する


22

Telegramでチャットログを保存できません。私の知る限り、Android、Mac OS X、Windows、LinuxのTelegramは、このオプションをユーザーに提供していません。これは基本的な機能であり、このソフトウェアに含まれていないことは残念で驚きです。

ここにこの機能のリクエストがあります

スクロールバックするとすべての履歴がデバイスにロードされるため、回避策があるかもしれません。

デバイスにロードされたチャット履歴をキャプチャ/保存し、チャットログのローカルバックアップコピーを作成することは可能ですか?

回答:


2

公式データのエクスポート

GDPRの変更の一部として、2018年6月23日から24日まで、テレグラムはこのオプションを追加しました。

これで、すべてのデータのダウンロードをリクエストできるようになり、チャットログを取得できるようになりました。

  • データエクスポートの電報サポート:
    • Telegram Desktop- 1.3.8以降から
    • Android向けTelegram- 4.8.10以降
    • iOS用電報-4.8.3以降
    • Telegram Webapp-まだ利用できません
    • Windows Phone用の電報-わからない

@GDPRbotにメッセージを送信して、データのエクスポートを要求するか、既に利用可能な場合はアプリの設定から要求することができます。

注:セキュリティ上の理由から、データのエクスポートはすぐには行われないため、誰かがデバイスの1つを制御した場合、すべてのデータをすぐにダウンロードすることはできません。

TelegramのFAQエクスポートから完全な通知を読む

Telegram Desktopからのデモ

その他のオプション(GitHubから)


6

tg(telegram-cli)はLuaスクリプトを受け入れます。これは、必要な数のメッセージをsqliteデータベースに保存するスクリプトです。

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


1
スーパーユーザーへようこそ!このQ&Aサイトでは、回答を重視しています。ハイパーリンクだけでは、実際には答えではなく答えを指す傾向があります。回答を編集して、リンクされたソースの重要な要素、たとえばスクリプト自体が含まれるようにしてください。
Ob1lan

1
こんにちは、スクリプトを試しました。魅力のように機能します。しかし、それはメディアをバックアップしませんか?または私は何か間違っていますか?
ネオ

@Junaidいいえ、現時点ではメディアファイルをバックアップしません。メディアファイルはメッセージとは異なります。メディアメッセージごとに1つの要求を行う必要があります。
サミン

5

私は要旨の @Samimに基づいて独自のスクリプトを作成しました。

SQLデータベースを使用するのではなく、好きなように保存できるようにファイルに出力します。また、より多くのダイアログの履歴を取得できるように、スリープ機能があります。まだtelegram-cli100のハード制限によって制限されています。ソースを編集して制限を上げることで、それを変更しました。


スクリプトでメディアファイルと添付ファイルを保存できますか?
テオ

メディアの種類に言及しているだけです
vedant

制限を変更する方法を教えてください。telegram-cliのコードのどの部分を変更する必要がありますか?
アリNfr

3

回答:

公式アプリケーションではチャットの履歴を自動でバックアップすることはできません。この機能はまだ提供されていません

回避策:

それでも手動で作成できます。Windowsの公式クライアントでテスト済み

  • チャットウィンドウを開く
  • 最後の送信/受信メッセージをクリックし、クリックしたままにします
  • マウスを上に動かして、すべてのメッセージを選択します
  • 右クリックしてメッセージをコピーします
  • テキストファイルなどに保存します

6
私の質問に答えてくれてありがとう。多くのメッセージがある場合、この回避策には非常に長い時間がかかります。さらに、コピーと貼り付け中に画像とビデオは含まれません。したがって、私はこれを答えとして受け入れません。
テオ

私は、数千のメッセージのチャットのためにこの仕事をしました(電報フォルダから画像と音声を別々に保存しました)。これが手作業で行う唯一の方法でない限り-何もないよりはましです
;

2

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);
        }
}

ここで2つの文字列を変更する必要があります。

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

    • スクリプトは、すべてのメッセージ(チャット「chat_name_that_you_want_to_download」から)をフォルダー「/ path / where / you / want / to / store / messages」に個別のファイルとして保存します。
    • すべてのファイルには、メッセージのJSON表現が含まれています。
    • ファイルの場合、ダウンロードされたファイルへのパスを持つ「media-> path」があります。
    • ファイルはtelegram-cliのデフォルトフォルダーに保存されます:〜/ telegram-cli / downloads

0

テキストまたはHTMLにエクスポートする場合(メッセージに色を付ける場合)の簡単な方法。

あなたはできる

  • でログイン telegram-cli
  • チャット履歴を開きます
  • 端末コンテンツをエクスポートします

私の場合、私はKonsoleを使用しているので、File> を使用Save output asし、HTMLで使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.