如何备份Telegram聊天记录?

我发现了一些像这个代码的内容可以发送到 Telegram-CLI,但我不知道它是什么意思,也不知道如何操作,所以如果有人能为我逐步解释一下,我会非常高兴。

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

我无法通过给定的代码安装 sqlite3,不知道为什么。

我正在使用 Windows,我需要启动 Ubuntu 来做吗?

总之,如果有我不知道的东西,也请向我解释得像我三岁一样。

非常感谢。

点赞
用户5238960
用户5238960

似乎我能够帮助你一些。我正在使用 Ubuntu,编写了这个 Bash 脚本:

#!/bin/bash

TOKEN='YourBot:Token'

URL='https://api.telegram.org/bot'$TOKEN

UPD_URL=$URL'/getUpdates?offset='

function get_offset {

        res=$(curl $UPD_URL$OFFSET)
        OFFSET=$(echo $res | grep "update_id" | cut -f 4 -d ':' | cut -f 1 -d ',' | head -1)
        OFFSET=$((OFFSET+1))
}

while :
    do

get_offset

if echo $res | grep "message"

then echo $res >> BackupChat.txt

fi

done

这是一个非常简单的 Bash 脚本。显然,你必须创建自己的机器人并将其添加到要备份的聊天中。这个脚本的缺点是它创建了一个非常难以阅读的文本日志文件,包含大量的垃圾信息,比如“用户名”、“日期”、“::”等。但是,可以通过改进脚本,使输出看起来像是一个很酷的数据库。

我希望你有足够的 Linux 技能,可以自己完成它。

2015-08-18 11:06:41
用户2421933
用户2421933
2015-11-17 00:52:22
用户1469276
用户1469276

该脚本已更新,现在将对话保存到 CSV 文件中,不再需要 sqlite3 库。只需要 lua。

2015-12-02 10:18:18
用户1342345
用户1342345

我认为自从这个问题被提出以来情况得到了改善,因此这里提供一个来自2020年的视角,不需要任何编程技能或命令行工具。


要备份(也可以称为“导出”)你的 Telegram 聊天记录,请下载这里提供的桌面客户端:

例如在 Linux 上,将下载的文件解压缩到任何子目录中,如 ~/tmp/,然后从那里启动客户端,例如:

$ cd ~/tmp/Telegram
$ ./Telegram

你需要先用手机号码注册,就像在其他 Telegram 设备上一样,通过已经登录的 Telegram 帐户发送确认码。

用户界面类似于 Web 界面。

进入你感兴趣的聊天,然后在右上角菜单中选择“导出聊天历史记录”。勾选你感兴趣的所有复选框,如媒体文件、GIF、贴纸等,并单击“导出”。

默认情况下,它会在 ~/Downloads/Telegram Desktop/ 下生成完整的 HTML 文件和子目录结构,你可以像这样打开:

firefox  ~/Downloads/Telegram\ Desktop/ChatExport_01_02_2020/messages.html

如果你需要完整备份所有聊天记录,可以转到顶部左侧的中央菜单(三个小条),然后选择“设置”->“高级”->在“数据和存储”下选择“导出Telegram数据”。在那里,你也可以勾选你感兴趣的内容。在底部附近有一个选择人类可读的 HTML 还是机器可读的 JSON。

在最初的导出请求中,它首先要求你确认在_另一个_ Telegram 实例上允许导出请求,以避免滥用。一旦你确认了,例如从你的手机,在没有任何进一步的确认的情况下,你可以再次导出并按照上述步骤进行。

2020-02-01 10:54:09