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