Files
HeXi/pyproject.toml
T
sansenhoshiandClaude 9371a28e35 refactor: restructure plugins per MTSS standard, consolidate assets to res/
Per docs/plugin-audit-report.md (plugins normalized to
Trigger(handlers) → Service(services) → Model(repository/models) + utils):

- Split monolithic __init__.py into handlers/services/utils across
  dailywife, deer_pipe, dice, galgame_card, helldivers_tools,
  huoziyinshua, learning_chat, makeaquote, mc_server_status,
  ncm_saying, picfinder_take, picstatus, random_jm_code, regif,
  steam_info, video_analysis, group_tools
- Move static assets under res/: deer_pipe font/img, makeaquote font,
  helldivers img/templates, huoziyinshua HuoZiYinShua
- Add config.py + register_config_items to ncm_saying, random_jm_code,
  group_tools; learning_chat unified config bridge
- Remove deprecated: voice_trans plugin, bf_bot/test.py, dead code in
  dailywife/deer_pipe, empty dirs, debug scripts under helldivers temp
- Disable brash_general_supercredits_tools (stub comment only)
- bot.py: optional stdout/stderr redirect to log file for Web log viewer,
  force ANSI colorize on non-TTY sinks
- Move runtime data (jm_code.json) out of plugin dir into hexi/data
- Docs: plugin-audit-report.md; README reflects removed plugins

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-03 00:44:38 +08:00

96 lines
2.3 KiB
TOML

[tool.poetry]
authors = ["sansenhoshi <sansenhoshi@outlook.com>"]
description = "基于 NoneBot2 的机器人"
license = "None"
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"]