From 27670920f690e90adf22202146ac000118b4b2d7 Mon Sep 17 00:00:00 2001 From: passthem Date: Sat, 11 Apr 2026 23:22:00 +0800 Subject: [PATCH] vrsay --- assets/img/meme/vr.jpg | Bin 0 -> 32971 bytes konabot/plugins/memepack/__init__.py | 27 +++++++++++++++++++++ konabot/plugins/memepack/drawing/saying.py | 22 +++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100755 assets/img/meme/vr.jpg diff --git a/assets/img/meme/vr.jpg b/assets/img/meme/vr.jpg new file mode 100755 index 0000000000000000000000000000000000000000..193265853bc55575459cbd5cbbd0c78588c7172e GIT binary patch literal 32971 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 OG@POY1j3+y#{WOv)h*-z literal 0 HcmV?d00001 diff --git a/konabot/plugins/memepack/__init__.py b/konabot/plugins/memepack/__init__.py index 894ea37..9260d9d 100644 --- a/konabot/plugins/memepack/__init__.py +++ b/konabot/plugins/memepack/__init__.py @@ -34,6 +34,7 @@ from konabot.plugins.memepack.drawing.saying import ( draw_mnk, draw_pt, draw_suan, + draw_vr, ) from konabot.plugins.memepack.drawing.watermark import draw_doubao_watermark @@ -334,3 +335,29 @@ async def _(img: DepPILImage): result_bytes = BytesIO() result.save(result_bytes, format="PNG") await doubao_cmd.send(await UniMessage().image(raw=result_bytes).export()) + + +vrsay = on_alconna( + Alconna( + "vr说", + Args[ + "saying", + MultiVar(str, "+"), + Field(missing_tips=lambda: "你没有写vr说了什么"), + ], + ), + use_cmd_start=True, + use_cmd_sep=False, + skip_for_unmatch=False, + aliases=set(), +) + + +@vrsay.handle() +async def _(saying: list[str]): + img = await draw_vr("\n".join(saying)) + img_bytes = BytesIO() + img.save(img_bytes, format="PNG") + + await vrsay.send(await UniMessage().image(raw=img_bytes).export()) + diff --git a/konabot/plugins/memepack/drawing/saying.py b/konabot/plugins/memepack/drawing/saying.py index 6ab6b2d..85eee9f 100644 --- a/konabot/plugins/memepack/drawing/saying.py +++ b/konabot/plugins/memepack/drawing/saying.py @@ -16,6 +16,7 @@ dasuan_image = PIL.Image.open(ASSETS_PATH / "img" / "meme" / "dss.png").convert( suan_image = PIL.Image.open(ASSETS_PATH / "img" / "meme" / "suanleba.png").convert("RGBA") cute_ten_image = PIL.Image.open(ASSETS_PATH / "img" / "meme" / "tententen.png").convert("RGBA") kio_image = PIL.Image.open(ASSETS_PATH / "img" / "meme" / "kiosay.jpg").convert("RGBA") +vr_image = PIL.Image.open(ASSETS_PATH / 'img' / 'meme' / 'vr.jpg').convert("RGBA") def _draw_geimao(saying: str): @@ -123,3 +124,24 @@ def draw_kiosay(saying: str): ) return img + +@make_async +def draw_vr(saying: str): + img = vr_image.copy() + w, h = img.size + hw = 300 + + img2 = PIL.Image.new("RGBA", (w, h + hw), 'white') + img2.paste(img, (0, hw)) + + with imagetext_py.Writer(img2) as iw: + iw.draw_text_wrapped( + saying, w // 2, hw // 2 + 15, 0.5, 0.5, w, 64, LXGWWENKAI_REGULAR, + imagetext_py.Paint.Color(imagetext_py.Color.from_hex("000000FF")), + 1.0, + imagetext_py.TextAlign.Center, + draw_emojis=True, + ) + + return img2 +