Files
WPSBot/config.py
2025-10-28 13:00:35 +08:00

63 lines
1.4 KiB
Python

"""配置管理模块"""
import os
from pathlib import Path
from dotenv import load_dotenv
# 加载环境变量
load_dotenv()
# 项目根目录
BASE_DIR = Path(__file__).resolve().parent
# WPS Webhook配置
WEBHOOK_URL = os.getenv(
"WEBHOOK_URL",
"https://xz.wps.cn/api/v1/webhook/send?key=da86927e491f2aef4b964223687c2c80"
)
# 数据库配置
DATABASE_PATH = os.getenv("DATABASE_PATH", str(BASE_DIR / "data" / "bot.db"))
# 系统配置
MAX_CONCURRENT_REQUESTS = int(os.getenv("MAX_CONCURRENT_REQUESTS", "5"))
SESSION_TIMEOUT = int(os.getenv("SESSION_TIMEOUT", "1800")) # 30分钟
MESSAGE_RATE_LIMIT = int(os.getenv("MESSAGE_RATE_LIMIT", "20")) # 20条/分钟
# 日志配置
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
# 确保数据目录存在
DATA_DIR = BASE_DIR / "data"
DATA_DIR.mkdir(exist_ok=True)
# 应用配置
APP_CONFIG = {
"title": "WPS Bot Game",
"description": "WPS协作机器人游戏系统",
"version": "1.0.0",
# 关闭文档以节省内存
"docs_url": None,
"redoc_url": None,
"openapi_url": None,
}
# 游戏配置
GAME_CONFIG = {
"dice": {
"max_dice_count": 100, # 最多掷骰数量
"max_dice_sides": 1000, # 最大骰面数
},
"guess": {
"min_number": 1,
"max_number": 100,
"max_attempts": 10,
},
"rps": {
"choices": ["石头", "剪刀", ""],
},
"quiz": {
"timeout": 60, # 答题超时时间(秒)
},
}