
嘿,大家好!我是诺多,一个NAS和网盘的狂热爱好者。平时没事就爱在电报上刷频道,收集各种视频、图片啥的,但手机空间总是不够用。去年我挖到个开源宝贝——Save Any Bot,它能把电报上的文件一键转存到我的NAS、网盘或本地,超级智能!今天我就来分享我的使用心得,从介绍到部署再到操作,全是干货。资料我仔细整理过了,写得像聊天一样轻松,希望能帮到你们这些同好。别忘了,玩NAS就是图个乐趣,对吧?😉 走起,一起解锁新玩法!
🏷️ Save Any Bot是啥?
先说说这个工具吧,简单点:Save Any Bot是个电报Bot,专门帮你把电报上的文件(包括文档、视频、图片、贴纸,甚至Telegraph文章)转存到各种存储端。为什么我爱它?因为它能破解那些“禁止保存”的文件限制,还支持批量下载、自动整理啥的。作为NAS党,我用它把文件直接扔到我的QNAP或网盘上,瞬间解放手机空间。想象一下,你在电报看到个高清鸡动视频,Bot一键转存到NAS的“视频”文件夹,还能自动分类——这不就是懒人福音吗?唯一小提醒:用的时候注意账号安全,尤其是高级模式。
🏷️ 这玩意儿有啥牛逼的?
-
啥都能搬:文档、视频、图片、贴纸... 甚至连电报的文章都能给你扒下来!不怕你找不到,就怕你存不下!
-
流式传输:启用后,文件边从电报下载边传到存储端,不占本地空间。适合NAS磁盘小的场景,但网络得稳哦(不稳就重试,资料说默认retry=3)。
-
破解限制:有些资源限制保存?不存在的!在 Save Any Bot 这里,统统给你安排得明明白白!
-
批量下载: 一次性搬运多个文件,省时省力!告别一个一个手动保存的时代!
-
自动整理: 还能根据你设定的规则,自动把文件分门别类地整理好!拯救你的强迫症!
-
多用户支持:不止你自己能用,还能分享给你的好基友们一起用!独乐乐不如众乐乐!
-
支持超多存储端:
- Alist: 资源整合神器,支持多种网盘挂载,懂的都懂!
- S3 (MinioSDK): 自建对象存储,安全、稳定、可控!数据掌握在自己手里才是王道!
- WebDAV: 一种通用的文件共享协议,方便地挂载到各种设备,实现多端同步!
- 本地磁盘: 简单粗暴,直接保存到你的电脑!适合对速度有极致追求的你!
- 电报: 本地磁盘、Alist、WebDAV、MinIO (S3兼容)、甚至回传到电报聊天。每个存储有自定义配置。
🏷️ 咋部署?安排!
别怕!这次我把每一步都拆解得清清楚楚,保证你一看就懂!
-
准备工作(磨刀不误砍柴工)
-
安装 Docker 和 Docker Compose。 Docker 是一个容器化平台,可以让你轻松运行各种应用。Docker Compose 是一个用于定义和管理多容器 Docker 应用的工具。
- Docker 安装教程: 网上有很多教程,自行搜索即可。
- Docker Compose 安装教程: 同样,网上也有很多教程,请根据你的操作系统选择合适的教程。
-
在 电报 上创建一个 Bot,并获取 Token。 这是 Save Any Bot 工作的钥匙!
- 步骤: 在电报搜索
@BotFather,按照提示操作即可。创建完成后,@BotFather会给你一个 Token,务必妥善保管!
- 步骤: 在电报搜索
-
确定你要使用的存储端,并获取相应的配置信息。 不同的存储端需要不同的配置信息,请提前准备好!
- Alist: 需要 Alist 的 URL、用户名、密码(或者 Token)。
- S3 (MinioSDK): 需要 endpoint、access_key_id、secret_access_key、bucket_name。
- WebDAV: 需要 WebDAV 的 URL、用户名、密码。
友情提示: 如果你还没有自己的存储端,可以先用本地磁盘进行测试,等熟悉了之后再配置其他存储端。
-
-
创建配置文件
config.toml(核心配置)新建一个
config.toml文件,这是 Save Any Bot 的核心配置文件。把下面的内容填进去,并根据你的实际情况修改。[telegram] token = "你的Bot Token" # 在 @BotFather 获取 app_id = 你的电报 API ID # 可选,用于UserBot集成,获取方式见下文 app_hash = 你的电报 API Hash # 可选,用于UserBot集成,获取方式见下文 [telegram.proxy] # 启用代理连接 电报, 当前只支持 socks5 enable = false url = "socks5://127.0.0.1:7890" [[storages]] name = "本地磁盘" type = "local" enable = true base_path = "./downloads" [[storages]] name = "Alist" type = "alist" enable = true url = "你的Alist地址" username = "你的Alist用户名" password = "你的Alist密码" base_path = "/saveanybot" # Alist中的存储路径 [[users]] id = 你的电报账号id # 你的 电报 账号 id storages = [] # 允许访问的存储端,留空表示允许访问所有存储端 blacklist = false # 是否启用黑名单模式,false表示白名单模式-
telegram.token: 填入你从@BotFather获得的 Bot Token。 -
telegram.app_id和telegram.app_hash: 这两个是可选的,用于 UserBot 集成。UserBot 集成可以让你下载私密频道和群组的文件,但是有账号被封禁的风险,请谨慎使用。- 如何获取
app_id和app_hash: 访问 https://my.telegram.org/apps,登录你的 电报 账号,创建一个应用,即可获得app_id和app_hash。
- 如何获取
-
storages: 配置存储端信息。可以配置多个存储端,每个存储端都需要一个name(存储端名称,用于在 Bot 中识别)、type(存储端类型)和一些特定于该类型的配置项。type: 支持local(本地磁盘)、alist(Alist)、webdav(WebDAV)、minio(MinIO)和telegram(电报)。local: 需要配置base_path(本地存储的基础路径)。alist: 需要配置url(Alist 的 URL)、username(Alist 的用户名)、password(Alist 的密码)和base_path(Alist 中的存储路径)。webdav: 需要配置url(WebDAV 的 URL)、username(WebDAV 的用户名)、password(WebDAV 的密码)和base_path(WebDAV 中的存储路径)。
-
users: 配置用户信息。可以配置多个用户,每个用户都需要一个id(用户的 电报 账号 ID)和一些访问控制相关的配置项。id: 你的 电报 账号 ID。不知道 ID 是多少?可以给@userinfobot发条消息,它会告诉你。storages: 允许访问的存储端列表,留空表示允许访问所有存储端。blacklist: 是否启用黑名单模式,false表示白名单模式,true表示黑名单模式。
重要提示:
config.toml文件必须放在 Save Any Bot 的工作目录下。 -
-
使用 Docker 运行 Save Any Bot(启动!起飞!)
你可以选择使用 Docker 命令或者 Docker Compose 来运行 Save Any Bot。
-
使用 Docker 命令:
docker run -d --name saveany-bot \ -v ./config.toml:/app/config.toml \ -v ./downloads:/app/downloads \ ghcr.io/krau/saveany-bot:latest-d: 后台运行。--name saveany-bot: 指定容器的名称。-v ./config.toml:/app/config.toml: 将本地的config.toml文件挂载到容器内的/app/config.toml。-v ./downloads:/app/downloads: 将本地的downloads目录挂载到容器内的/app/downloads。ghcr.io/krau/saveany-bot:latest: Save Any Bot 的 Docker 镜像。
-
使用 Docker Compose:
新建一个
docker-compose.yml文件,把下面的内容填进去:services: saveany-bot: image: ghcr.io/krau/saveany-bot:latest container_name: saveany-bot restart: unless-stopped volumes: - ./data:/app/data - ./config.toml:/app/config.toml - ./downloads:/app/downloads - ./cache:/app/cache environment: - TZ=Asia/Shanghai # 设置时区,可选version: Docker Compose 文件的版本。services: 定义服务。saveany-bot: 服务名称。image: 使用的 Docker 镜像。container_name: 容器名称。restart: 重启策略,unless-stopped表示除非手动停止,否则容器总是会自动重启。volumes: 挂载目录。environment: 环境变量。
然后在
docker-compose.yml文件所在的目录下,执行以下命令:docker-compose up -d
-
-
启动完成!(检查一下)
打开 电报,找到你创建的 Bot,发送
/start命令,如果 Bot 能够正常响应,就说明启动成功了!🎉
🏷️ 怎么玩?安排!
-
发送/转发文件: 把你想保存的文件或者消息链接发送/转发给 Bot。

-
选择存储位置: Bot 会问你想把文件保存到哪里,选择你配置好的存储端即可。

-
坐等收货! Bot 会自动把文件搬运到你指定的“新家”!
🏷️ 高级玩法
-
静默模式: 使用
/silent命令可以开启/关闭静默模式。开启后,Bot 会直接把文件保存到默认位置,不用每次都选择存储位置了。- 如何设置默认位置? 使用
/storage命令可以设置默认位置。
- 如何设置默认位置? 使用
-
存储规则: 使用
/rule命令可以设置存储规则,让 Bot 自动把文件分门别类地整理好。- 规则类型:
FILENAME-REGEX:根据文件名正则匹配。MESSAGE-REGEX:根据消息文本正则匹配。IS-ALBUM:匹配相册消息(media group)。
- 示例:
/rule add FILENAME-REGEX (?i)\.(mp4|mkv)$ Alist /视频:将文件名后缀为mp4或mkv的文件保存到名为Alist的存储端的/视频目录下。
- 规则类型:
-
监听聊天: 开启 UserBot 集成后,可以使用
/watch命令监听指定聊天,自动保存其中的文件。- 开启 UserBot 集成: 需要在
config.toml文件中配置telegram.app_id和telegram.app_hash,并将telegram.userbot.enable设置为true。 - 使用
/watch命令:/watch <chat_id/username> [filter],chat_id/username是要监听的聊天 ID 或用户名,filter是可选的过滤器。 - 示例:
/watch 12345678 msgre:.*小姐姐.*:监听 ID 为12345678的聊天,并只保存消息文本中包含 "小姐姐" 的消息。
- 开启 UserBot 集成: 需要在
🏷️ 常见问题解答(Q&A)
-
Q:Bot 无法响应命令?
- A: 检查 Bot Token 是否正确,以及 Bot 是否已经启动。
-
Q:文件上传失败?
- A: 检查存储端配置是否正确,以及 Bot 是否有权限访问该存储端。
-
Q:如何更新 Save Any Bot?
- A: 停止容器,拉取最新的 Docker 镜像,然后重新启动容器。
docker stop saveany-bot docker pull ghcr.io/krau/saveany-bot:latest docker start saveany-bot
- A: 停止容器,拉取最新的 Docker 镜像,然后重新启动容器。
🏷️ 总结
Save Any Bot 是一款功能强大、易于使用的 电报 文件转存机器人。希望这篇超详细的配置+使用指南能够帮助你轻松上手,打造属于自己的专属电报资源库!赶紧行动起来吧!
原创不易,希望这篇文章对你有所帮助!如果觉得不错,记得点赞、收藏、分享哦!💖

原创文章,作者:诺多,如若转载,请注明出处:https://www.huluohu.com/posts/1624/
微信扫一扫
支付宝扫一扫