如何备份电报聊天?
How to backup Telegram chat?
我发现类似此代码的内容可以发送到 Telegram-CLI,但我不知道它的含义或如何操作,所以如果有人能一步一步地向我解释,我会很高兴。
https://github.com/psamim/telegram-cli-backup
出于某种原因,我无法使用那里给定的代码安装 sqlite3。
我正在使用 windows,是否需要启动至 Ubuntu 才能执行此操作?
无论如何,像我3岁一样向我解释,以防我什么都不知道。
非常感谢。
看来我可以帮到你一点忙。
我正在使用 Ubuntu 并且我写了这个 Bash-script:
#!/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脚本。
显然,您必须创建自己的机器人并将机器人添加到您要备份的聊天中。
这个脚本的坏处是它很难读取带有大量垃圾的文本日志文件,如 "username" "date" "::" 等。但它可以改进,使正常输出看起来很酷数据库。
我希望你有足够的 Linux 技能来自己制作它。
如果您正在使用 windows,请查看说明 here。我只在 Linux 中尝试过,你问题中的 link(使用 Lua)有效。
以下脚本也能很好地完成工作
Python 备份一切的脚本
https://github.com/tvdstaaij/telegram-json-backup
的 ruby 版本
提到的脚本已更新,现在它将对话保存到 CSV 文件中,不再需要 sqlite3 库。只需要 lua.
我认为自从提出这个问题后情况有所改善,所以这里是一个不需要任何编程技能或命令行工具的 2020 年的答案。
要备份(又名 "export")您的 Telegram 聊天记录,请在此处下载桌面客户端:
例如Linux,将下载的文件解压到任何子目录,如~/tmp/
,然后从那里启动客户端,如
$ cd ~/tmp/Telegram
$ ./Telegram
您需要先使用您的 phone 号码注册,就像在任何其他 Telegram 设备上一样,通过发送到您已登录的电报帐户的确认码。
用户界面与网络界面相似。
进入您感兴趣的聊天,然后在右上角的菜单中选择 "Export chat history"。单击您感兴趣的所有复选框,如媒体文件、GIF、贴纸等,然后单击导出。
默认情况下,它会在 ~/Downloads/Telegram Desktop/
下生成一个完整的 HTML 文件和子目录结构,您可以像这样打开它们:
firefox ~/Downloads/Telegram\ Desktop/ChatExport_01_02_2020/messages.html
如果您需要更完整的所有聊天记录备份,可以转到左上角的中央菜单(3 个小条),然后 "Settings" -> "Advanced" -> "Data and Storage" 选择 "Export Telegram data"。在那里,您还可以单击您感兴趣的复选框。靠近底部的是 HTML 用于 humas 或机器可读 JSON.
之间的选择
在第一个导出请求中,它首先要求您在 另一个 电报实例上确认以允许导出请求,以避免误用。一旦你确认,例如从您的手机 phone,您可以再次导出并按上述步骤继续操作,无需任何进一步确认。
我发现类似此代码的内容可以发送到 Telegram-CLI,但我不知道它的含义或如何操作,所以如果有人能一步一步地向我解释,我会很高兴。 https://github.com/psamim/telegram-cli-backup
出于某种原因,我无法使用那里给定的代码安装 sqlite3。 我正在使用 windows,是否需要启动至 Ubuntu 才能执行此操作? 无论如何,像我3岁一样向我解释,以防我什么都不知道。
非常感谢。
看来我可以帮到你一点忙。 我正在使用 Ubuntu 并且我写了这个 Bash-script:
#!/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脚本。 显然,您必须创建自己的机器人并将机器人添加到您要备份的聊天中。 这个脚本的坏处是它很难读取带有大量垃圾的文本日志文件,如 "username" "date" "::" 等。但它可以改进,使正常输出看起来很酷数据库。
我希望你有足够的 Linux 技能来自己制作它。
如果您正在使用 windows,请查看说明 here。我只在 Linux 中尝试过,你问题中的 link(使用 Lua)有效。
以下脚本也能很好地完成工作
Python 备份一切的脚本 https://github.com/tvdstaaij/telegram-json-backup
的 ruby 版本提到的脚本已更新,现在它将对话保存到 CSV 文件中,不再需要 sqlite3 库。只需要 lua.
我认为自从提出这个问题后情况有所改善,所以这里是一个不需要任何编程技能或命令行工具的 2020 年的答案。
要备份(又名 "export")您的 Telegram 聊天记录,请在此处下载桌面客户端:
例如Linux,将下载的文件解压到任何子目录,如~/tmp/
,然后从那里启动客户端,如
$ cd ~/tmp/Telegram
$ ./Telegram
您需要先使用您的 phone 号码注册,就像在任何其他 Telegram 设备上一样,通过发送到您已登录的电报帐户的确认码。
用户界面与网络界面相似。
进入您感兴趣的聊天,然后在右上角的菜单中选择 "Export chat history"。单击您感兴趣的所有复选框,如媒体文件、GIF、贴纸等,然后单击导出。
默认情况下,它会在 ~/Downloads/Telegram Desktop/
下生成一个完整的 HTML 文件和子目录结构,您可以像这样打开它们:
firefox ~/Downloads/Telegram\ Desktop/ChatExport_01_02_2020/messages.html
如果您需要更完整的所有聊天记录备份,可以转到左上角的中央菜单(3 个小条),然后 "Settings" -> "Advanced" -> "Data and Storage" 选择 "Export Telegram data"。在那里,您还可以单击您感兴趣的复选框。靠近底部的是 HTML 用于 humas 或机器可读 JSON.
之间的选择在第一个导出请求中,它首先要求您在 另一个 电报实例上确认以允许导出请求,以避免误用。一旦你确认,例如从您的手机 phone,您可以再次导出并按上述步骤继续操作,无需任何进一步确认。