🐛 真的修复了(确信

This commit is contained in:
Azide 2023-09-12 16:15:22 +08:00 committed by felinae98
parent 77e9fc3b50
commit 28f5d0c55d

View File

@ -20,7 +20,7 @@ if TYPE_CHECKING:
STATIC_PATH = (Path(__file__).parent / "dist").resolve() STATIC_PATH = (Path(__file__).parent / "dist").resolve()
def init_fastapi(): def init_fastapi(driver: "Driver"):
import socketio import socketio
from fastapi.applications import FastAPI from fastapi.applications import FastAPI
from fastapi.staticfiles import StaticFiles from fastapi.staticfiles import StaticFiles
@ -51,8 +51,7 @@ def init_fastapi():
app = driver.server_app app = driver.server_app
app.mount("/bison", nonebot_app, "nonebot-bison") app.mount("/bison", nonebot_app, "nonebot-bison")
driver = get_driver() register_router_fastapi(driver, socket_app)
register_router_fastapi(driver, socket_app) # type: ignore
host = str(driver.config.host) host = str(driver.config.host)
port = driver.config.port port = driver.config.port
if host in ["0.0.0.0", "127.0.0.1"]: if host in ["0.0.0.0", "127.0.0.1"]:
@ -73,18 +72,21 @@ def register_get_token_handler():
get_token.__help__info__ = "获取管理bot后台的地址该地址会在一段时间过后过期请不要泄漏该地址" # type: ignore get_token.__help__info__ = "获取管理bot后台的地址该地址会在一段时间过后过期请不要泄漏该地址" # type: ignore
def check_driver_is_fastapi() -> bool: def check_driver_is_fastapi() -> "Driver" | None:
try: try:
from nonebot.drivers.fastapi import Driver from nonebot.drivers.fastapi import Driver
return isinstance(get_driver(), Driver) if (driver := get_driver()) and isinstance(driver, Driver):
return driver
return None
except ImportError: except ImportError:
return False return None
if (STATIC_PATH / "index.html").exists(): if (STATIC_PATH / "index.html").exists():
if check_driver_is_fastapi(): if driver := check_driver_is_fastapi():
init_fastapi() init_fastapi(driver)
register_get_token_handler() register_get_token_handler()
else: else:
logger.warning("your driver is not fastapi, webui feature will be disabled") logger.warning("your driver is not fastapi, webui feature will be disabled")