使用 yarl.URL 拼接 outer_url (#496)

*  显式依赖 yarl

*  使用 yarl.URL 处理 outer_url
This commit is contained in:
Azide
2024-03-19 10:26:38 +08:00
committed by GitHub
parent 43a3c819a4
commit a42a65523e
5 changed files with 142 additions and 136 deletions
+1 -1
View File
@@ -66,7 +66,7 @@ def register_get_token_handler():
@get_token.handle()
async def send_token(bot: "Bot", event: PrivateMessageEvent, state: T_State):
token = tm.get_user_token((event.get_user_id(), event.sender.nickname))
await get_token.finish(f"请访问: {plugin_config.outer_url}auth/{token}")
await get_token.finish(f"请访问: {plugin_config.outer_url / 'auth' / token}")
get_token.__help__name__ = "获取后台管理地址" # type: ignore
get_token.__help__info__ = "获取管理bot后台的地址,该地址会在一段时间过后过期,请不要泄漏该地址" # type: ignore
+6 -2
View File
@@ -1,4 +1,5 @@
import nonebot
from yarl import URL
from nonebot import get_plugin_config
from pydantic import Field, BaseModel
@@ -32,8 +33,11 @@ class PlugConfig(BaseModel):
bison_platform_theme: dict[PlatformName, ThemeName] = {}
@property
def outer_url(self) -> str:
return self.bison_outer_url or f"http://localhost:{global_config.port}/bison/"
def outer_url(self) -> URL:
if self.bison_outer_url:
return URL(self.bison_outer_url)
else:
return URL(f"http://localhost:{global_config.port}/bison/")
plugin_config = get_plugin_config(PlugConfig)