- musicbot/reload.py:轮询监控 musicbot/ 下的 .py 与 intents.toml/.env, 变更后重启 bot 子进程;跳过 logs/、__pycache__/、.venv/ - 进程级重启而非模块重载:长连接 + 模块级状态 + handler 闭包, 就地重载易留幽灵 handler,重启子进程状态干净 - 子进程用 _MUSICBOT_RELOAD_CHILD 标记,不会套娃自我复制 - Windows 用 taskkill /T 收整棵进程树,实测连续重载无进程泄漏 - 开启方式:`uv run musicbot --reload`(start.bat 已带)或 RELOAD=on - 监督者不配日志,避免与子进程抢写同一日志文件
32 lines
1.3 KiB
Bash
32 lines
1.3 KiB
Bash
# QQ 开放平台凭证(必填,缺失启动即报错)
|
||
APPID=你的AppID
|
||
APPSECRET=你的AppSecret
|
||
CONNECTER=websocket
|
||
|
||
# MusicServer(lx-music 聚合音源)
|
||
MUSIC_SERVER_URL=http://127.0.0.1:16688
|
||
MUSIC_QUALITY=128k
|
||
MUSIC_SOURCE=tx # 默认 QQ 音乐,留空聚合全源
|
||
|
||
# 选歌菜单每页候选数(1~20;受内嵌键盘 5 行限制,默认 10)
|
||
MENU_PAGE_SIZE=10
|
||
|
||
# 自动撤回:翻页撤旧菜单、选歌后撤菜单、播放/下载后撤卡片
|
||
# on/off(也接受 true/false、1/0、yes/no),默认 on
|
||
WITHDRAW=on
|
||
|
||
# 下载按钮的发送方式:
|
||
# link 直接发直链(默认,避开"仅群主和管理员上传文件"的 40093005)
|
||
# file 先上传群文件、失败回退直链(需机器人在群里是群主/管理员)
|
||
# 播放按钮不受影响,始终发语音。非法值按 link 处理。
|
||
SEND_MODE=link
|
||
|
||
# 日志:级别可选 TRACE/DEBUG/INFO/SUCCESS/WARNING/ERROR/CRITICAL(默认 INFO);
|
||
# 日志同时输出到控制台与 LOG_DIR/musicbot.log(按天轮转、保留 7 天)
|
||
LOG_LEVEL=INFO
|
||
LOG_DIR=logs
|
||
|
||
# 热重载(开发用):on 时监控源码与 intents.toml/.env,变更后自动重启 bot。
|
||
# 默认 off;也可用命令行 `musicbot --reload` 开启(start.bat 已带该参数)。
|
||
RELOAD=off
|