Add HeXi bot codebase: custom plugins, web frontends, tests
- hexi core: message handling, rate limiting, cooldown, plugin manager - Custom plugins: BF stats, daily check-in, quotes, persona cards, etc. - Community plugins vendored under hexi/plugins with local fixes - Web admin frontends (learning-chat, persona-admin), unified hexi/web - Tests for rate_limit/cooldown/memes/persona; poetry.lock Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
[tool.poetry]
|
||||
authors = ["sansenhoshi <sansenhoshi@outlook.com>"]
|
||||
description = "基于 NoneBot2 的机器人"
|
||||
license = "MIT"
|
||||
name = "hexi"
|
||||
readme = "README.md"
|
||||
repository = ""
|
||||
version = "0.0.1"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.10"
|
||||
eorzeaenv = "^2.2.8"
|
||||
matplotlib = "^3.7.1"
|
||||
expiringdict = "^1.2.2"
|
||||
playwright = "^1.50.0"
|
||||
|
||||
nonebot2 = { extras = ["httpx", "fastapi", "websockets"], version = "^2.1.0" }
|
||||
nb-cli = "^1.2.3"
|
||||
nonebot-adapter-onebot = "2.2.4"
|
||||
|
||||
nonebot-plugin-datastore = "^1.1.2"
|
||||
nonebot-plugin-wordcloud = "^0.5.2"
|
||||
nonebot-plugin-user = "^0.0.1"
|
||||
|
||||
nonebot-plugin-apscheduler = "^0.3.0"
|
||||
nonebot-plugin-send-anything-anywhere = "^0.3.1"
|
||||
nonebot-plugin-alconna = "^0.24.0"
|
||||
nonebot-plugin-session = "^0.1.0"
|
||||
nonebot-plugin-userinfo = "^0.1.0"
|
||||
|
||||
bilibili-api-python = "^17.0.0"
|
||||
|
||||
nonebot-plugin-sentry = "^0.4.0"
|
||||
nonebot-plugin-memes = "~0.8.1"
|
||||
nonebot-bison = "0.8.2"
|
||||
nonebot-plugin-gscode = "0.2.1"
|
||||
nonebot-plugin-status = "0.7.1"
|
||||
nonebot-plugin-bawiki = "0.9.3"
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
nonebug = "^0.3.3"
|
||||
pytest-cov = "^4.0.0"
|
||||
pytest-mock = "^3.6.1"
|
||||
pytest-xdist = "^3.0.2"
|
||||
pytest-asyncio = "^0.21.0"
|
||||
respx = "^0.20.1"
|
||||
freezegun = "^1.2.2"
|
||||
nonebug-saa = { git = "https://github.com/MountainDash/nonebug-saa.git" }
|
||||
|
||||
[tool.nonebot]
|
||||
adapters = [
|
||||
{ name = "OneBot V11", module_name = "nonebot.adapters.onebot.v11" },
|
||||
{ name = "OneBot V12", module_name = "nonebot.adapters.onebot.v12" },
|
||||
]
|
||||
|
||||
plugin_dirs = ["hexi/plugins", "test"]
|
||||
plugins = [
|
||||
"nonebot_plugin_apscheduler",
|
||||
"nonebot_plugin_saa",
|
||||
"nonebot_plugin_alconna",
|
||||
"nonebot_plugin_session",
|
||||
"nonebot_plugin_userinfo",
|
||||
"nonebot_plugin_user",
|
||||
"nonebot_plugin_wordcloud",
|
||||
"nonebot_plugin_memes",
|
||||
"nonebot_plugin_multincm",
|
||||
"nonebot_plugin_random_stereotypes",
|
||||
"nonebot_plugin_fix_qq_img_ssl",
|
||||
"nonebot_plugin_datastore",
|
||||
"nonebot_plugin_orm",
|
||||
"nonebot_plugin_rollpig",
|
||||
]
|
||||
|
||||
[tool.black]
|
||||
line-length = 88
|
||||
|
||||
[tool.isort]
|
||||
profile = "black"
|
||||
line_length = 88
|
||||
skip_gitignore = true
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
asyncio_mode = "auto"
|
||||
|
||||
[tool.pyright]
|
||||
typeCheckingMode = "basic"
|
||||
|
||||
[tool.ruff]
|
||||
select = ["E", "W", "F", "UP", "C", "T", "PYI", "Q"]
|
||||
ignore = ["E402", "E501", "E711", "C901", "UP037"]
|
||||
|
||||
|
||||
[build-system]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
Reference in New Issue
Block a user