能不能给此方bot加上这个 by 蜡笔
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-12-31 15:02:08 +08:00
parent 67884f7133
commit eb8bf16346
3 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,10 @@
# 指令介绍
根据文字生成 k8x12S
> 「现在还不知道k8x12S是什么的可以开除界隈籍了」—— Louis, 2025/12/31
## 使用指南
`k8x12S 安心をしてください`

View File

@ -0,0 +1,46 @@
import re
from nonebot import on_message
from nonebot.rule import StartswithRule
from nonebot_plugin_alconna import At, Text, UniMessage, UniMsg
from konabot.common.longtask import DepLongTaskTarget
from konabot.common.web_render import konaweb
from konabot.common.web_render.core import WebRenderer
evt = on_message(rule=StartswithRule(("k8x12s",), True))
rule = re.compile(r"^[kK]8[xX]12[sS] ?(.+)$")
@evt.handle()
async def _(msg: UniMsg, target: DepLongTaskTarget):
if len(msg.include(Text, At)) != len(msg):
return
text = msg.extract_plain_text()
result = re.match(rule, text)
if result is None:
return
obj: str | None = result.group(1)
if obj is None:
return
img = await render_with_web_renderer(obj)
await target.send_message(UniMessage.image(raw=img))
async def render_with_web_renderer(text: str) -> bytes:
async def page_function(page):
await page.wait_for_selector('textarea[name=content]')
await page.locator('textarea[name=content]').fill(text)
out = await WebRenderer.render_with_persistent_page(
"markdown_renderer",
konaweb('k8x12S'),
target='#main',
other_function=page_function,
)
return out

View File

@ -12,5 +12,8 @@ def filter(change: Change, path: str) -> bool:
return False
if Path(path).absolute().is_relative_to((base / ".git").absolute()):
return False
if Path(path).absolute().is_relative_to((base / "assets" / "oracle" / "image").absolute()):
# 还要解决坏枪的这个问题
return False
print(path)
return True