web-dev-qa-db-ja.com

電報チャットログを保存

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

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

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

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

22
Teo

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

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

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

  • データエクスポートのテレグラムサポート
    • 電報デスクトップ-1.3.8以降
    • Android-4.8.10以降の電報
    • IOSの電報-4.8.3以降
    • Telegram Webapp-まだ利用できません
    • Windows Phoneの電報-わからない

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

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

Telegramからの完全な通知を読むFAQ export

Telegram Desktopからのデモ

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

2
arieljannai

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

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

6
Samim

@ -Samimの Gist に基づいて独自のスクリプトを作成しました。

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

5
vedant

答え:

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

回避策:

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

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

Telegram-cliで動作するかなりのphpライブラリを見つけました https://github.com/zyberspace/php-telegram-cli-client

すべてのメッセージとファイルをダウンロードするスクリプトがあります。

<?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
2
mike

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

あなたはできる

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

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

0
azzamsa