33 lines
973 B
Python
33 lines
973 B
Python
"""语录 —— 触发器(Trigger)层。"""
|
|||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from nonebot import logger, on_message, require
|
||
|
|
from nonebot.adapters.onebot.v11 import Bot, Event
|
||
|
|
from nonebot.rule import keyword
|
||
|
|
from nonebot_plugin_alconna import UniMessage
|
||
|
|
|
||
|
|
from ..services.generate import generate
|
||
|
|
from ..utils.reply import extract_reply
|
||
|
|
|
||
|
|
require("nonebot_plugin_alconna")
|
||
|
|
|
||
|
|
maq = on_message(keyword("maq"))
|
||
|
|
|
||
|
|
|
||
|
|
@maq.handle()
|
||
|
|
async def maq_handle(bot: Bot, ev: Event):
|
||
|
|
event = ev.dict()
|
||
|
|
try:
|
||
|
|
if event.get("message_type") != "group":
|
||
|
|
return
|
||
|
|
reply = await extract_reply(event, bot)
|
||
|
|
if reply.message == -1:
|
||
|
|
await maq.finish("请引用文字消息")
|
||
|
|
logger.info(f"{reply.user_id}, {reply.user_card}, {reply.message}")
|
||
|
|
image = await generate(reply)
|
||
|
|
await UniMessage.image(raw=image.getvalue()).send()
|
||
|
|
except (KeyError, TypeError) as e:
|
||
|
|
logger.error(e)
|
||
|
|
await maq.finish(str(e))
|