利用Telegram 机器人管理 Audiobookshelf 用户。
- 管理员回复用户
/pp或发送/pp tgid可打开目标用户管理面板。 - 普通用户私聊发送
/start可查看个人面板、线路、个人信息、活跃时间、签到、兑换码、创建/重置/删除账号。 - 无号用户可绑定已有 Audiobookshelf 账号;如账号已绑定到其他 TG,可提交换绑申请,由管理员在群组中同意或拒绝。
- 开放注册支持人数名额,用完自动关闭。
- 兑换码支持注册码、续期码、白名单码。
- 每日定时任务:活跃保号、积分自动续期。
- 数据库自动备份。
- 已从 BotFather 创建的 bot token
cp .env.example .env
cp docker-compose.yml docker-compose.yml编辑 .env:
| 变量 | 必填 | 说明 |
|---|---|---|
BOT_TOKEN |
✓ | BotFather 创建的 bot token |
OWNER_TG_ID |
✓ | owner Telegram ID,用于执行 /setup 初始化向导 |
ADMIN_TG_IDS |
✓ | 管理员 Telegram ID,多个用逗号分隔 |
MYSQL_DSN |
✓ | MySQL 连接串,例如 mysql+aiomysql://user:pass@127.0.0.1:3306/audiobookshelf_bot?charset=utf8mb4 |
ABS_BASE_URL |
✓ | Audiobookshelf 地址 |
ABS_API_TOKEN |
✓ | Audiobookshelf 管理员 API token |
BOT_TIMEZONE |
定时任务时区,默认 Asia/Shanghai |
|
LOG_LEVEL |
日志级别,默认 INFO |
|
LOG_FILE |
日志文件路径,默认 logs/app.log |
|
LOG_MAX_BYTES |
单个日志文件最大字节数,默认 10485760 |
|
LOG_BACKUP_COUNT |
日志轮转备份数量,默认 5 |
|
BACKUP_DIR |
数据库备份目录,默认 backups |
|
BACKUP_KEEP_COUNT |
备份文件保留数量,默认 7 |
|
REGISTRATION_QUEUE_DELAY_SECONDS |
注册队列处理延迟秒数,默认 2 |
docker compose up -d停止:
docker compose down更新:
docker compose pull
docker compose down absboss
docker compose up -d首次启动后,OWNER_TG_ID对应的用户向 bot 私聊发送/setup,按向导完成主群组、注册天数、签到积分等运行期配置。完成后 bot 即可正常使用。
Python 3.10 及以上。
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
Copy-Item .env.example .env启动时会自动创建表。也可以使用 Alembic 手动迁移:
alembic upgrade headpython -m absbot.mainpytest
ruff check .| 个人面板 | 管理面板 |
|---|---|
![]() |
![]() |
| 签到 | 备份 |
|---|---|
![]() |
![]() |



