介绍
SaveAny-Bot 是一个可将 Telegram 文件快速保存到多种存储端(如 Alist、本地磁盘、WebDAV 等)的机器人工具。支持处理限制保存的频道文件,灵活适配 Docker、Linux/Windows 二进制文件、OpenWrt 路由器甚至手机部署,让文件管理更高效。
GitHub开源地址:https://github.com/krau/SaveAny-Bot/
核心功能
- 多存储支持:无缝对接 Alist、WebDAV、本地磁盘等存储方案
- 突破限制:支持保存 Telegram 频道中「禁止转发」的公开文件
- 跨平台部署:提供 Docker、二进制文件、OpenWrt 专用脚本等多种部署方式
- 极简操作:发送文件或链接即可自动转存,支持图片和任意文件类型
部署指南(参见:GitHub)
从二进制文件部署
- 在 Release 页面下载对应平台的二进制文件。
- 在解压后的目录中新建
config.toml
文件,并参考 config.example.toml 编辑配置文件。 运行以下命令:
chmod +x saveany-bot ./saveany-bot
添加为 systemd 服务
创建文件
/etc/systemd/system/saveany-bot.service
并写入以下内容:[Unit] Description=SaveAnyBot After=systemd-user-sessions.service [Service] Type=simple WorkingDirectory=/yourpath/ ExecStart=/yourpath/saveany-bot Restart=on-failure [Install] WantedBy=multi-user.target
设为开机启动并启动服务:
systemctl enable --now saveany-bot
为 OpenWrt 及衍生系统添加开机自启动服务
- 创建文件
/etc/init.d/saveanybot
,参考 saveanybot 自行修改。 运行以下命令:
chmod +x /etc/init.d/saveanybot
- 将文件复制到
/etc/rc.d
并重命名为S99saveanybot
。 运行以下命令:
chmod +x /etc/rc.d/S99saveanybot
为 OpenWrt 及衍生系统添加快捷指令
- 创建文件
/usr/bin/sabot
,参考 sabot 自行配置修改,注意此处文件编码仅支持 ANSI 936。 运行以下命令:
chmod +x /usr/bin/sabot
- 之后,终端输入
sabot start|stop|restart|status|enable|disable
即可。
使用 Docker 部署
Docker Compose
- 下载 docker-compose.yml 文件,在同目录下新建
config.toml
文件,参考 config.example.toml 编辑配置文件。 启动:
docker compose up -d
Docker
运行以下命令:
docker run -d --name saveany-bot \ -v /path/to/config.toml:/app/config.toml \ -v /path/to/downloads:/app/downloads \ ghcr.io/krau/saveany-bot:latest
更新
使用 upgrade
或 up
升级到最新版
运行以下命令:
./saveany-bot upgrade
如果是 Docker 部署,使用以下命令更新:
运行以下命令:
docker pull ghcr.io/krau/saveany-bot:latest docker restart saveany-bot
使用方法
- 发送文件
直接向机器人发送或转发文件,根据提示选择存储位置。 - 处理频道文件
发送公开频道的消息链接(如https://t.me/channel/123
),机器人将自动解析并保存。 - 多存储切换
若配置了多个存储端,保存时会提供选项供选择。
注意事项
- 首次使用需在
config.toml
中正确配置 Telegram API 和存储端参数。 - 若使用 Alist,确保存储端已正确挂载且网络可访问。
- OpenWrt 部署时注意脚本编码需为 ANSI 936(避免中文乱码)。