mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-02 09:26:12 +08:00
🐛 修复无法正常判断 FastAPI 是否存在的问题 (#350)
* 🐛 修复多驱动器时无法正常判断 FastAPI 是否存在的问题 * 🎨 优化 * 🚑️ 再改
This commit is contained in:
parent
ea4eeeaaf8
commit
4b26268c60
@ -1,11 +1,11 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from nonebot.log import logger
|
||||
from nonebot.rule import to_me
|
||||
from nonebot.typing import T_State
|
||||
from nonebot import get_driver, on_command
|
||||
from nonebot.drivers.fastapi import Driver
|
||||
from nonebot.adapters.onebot.v11 import Bot
|
||||
from nonebot.adapters.onebot.v11.event import PrivateMessageEvent
|
||||
|
||||
@ -13,6 +13,10 @@ from .api import router as api_router
|
||||
from ..plugin_config import plugin_config
|
||||
from .token_manager import token_manager as tm
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from nonebot.drivers.fastapi import Driver
|
||||
|
||||
|
||||
STATIC_PATH = (Path(__file__).parent / "dist").resolve()
|
||||
|
||||
|
||||
@ -35,7 +39,7 @@ def init_fastapi():
|
||||
return super().lookup_path(self.index)
|
||||
return (full_path, stat_res)
|
||||
|
||||
def register_router_fastapi(driver: Driver, socketio):
|
||||
def register_router_fastapi(driver: "Driver", socketio):
|
||||
static_path = STATIC_PATH
|
||||
nonebot_app = FastAPI(
|
||||
title="nonebot-bison",
|
||||
@ -48,11 +52,7 @@ def init_fastapi():
|
||||
app.mount("/bison", nonebot_app, "nonebot-bison")
|
||||
|
||||
driver = get_driver()
|
||||
if isinstance(driver, Driver):
|
||||
register_router_fastapi(driver, socket_app)
|
||||
else:
|
||||
logger.warning(f"Driver {driver.type} not supported")
|
||||
return
|
||||
register_router_fastapi(driver, socket_app)
|
||||
host = str(driver.config.host)
|
||||
port = driver.config.port
|
||||
if host in ["0.0.0.0", "127.0.0.1"]:
|
||||
@ -74,8 +74,12 @@ def register_get_token_handler():
|
||||
|
||||
|
||||
def check_driver_is_fastapi() -> bool:
|
||||
driver = get_driver()
|
||||
return driver.type == "fastapi"
|
||||
try:
|
||||
from nonebot.drivers.fastapi import Driver
|
||||
|
||||
return isinstance(get_driver(), Driver)
|
||||
except ImportError:
|
||||
return False
|
||||
|
||||
|
||||
if (STATIC_PATH / "index.html").exists():
|
||||
|
Loading…
x
Reference in New Issue
Block a user