HeXi/hexi/plugins/makeaquote/__init__.py
sansenhoshi 275f05ee4a 重构
2026-01-04 17:15:40 +08:00

46 lines
1.5 KiB
Python

from nonebot import logger, on_message
from nonebot.adapters.onebot.v11 import Bot, MessageSegment, Event
from nonebot.plugin import PluginMetadata
from .Reply import Reply, extract_reply
from .make_a_qoute import generate
from nonebot.rule import keyword
__plugin_meta__ = PluginMetadata(
name="语录",
description="生成一条语录",
usage="发送【maq】",
type="application",
)
rule = keyword('maq')
maq = on_message(rule)
@maq.handle()
async def maq_handle(bot: Bot, ev: Event):
event = ev.dict()
try:
if event['message_type'] != 'group':
return
if event['reply']:
reply = await extract_reply(event, bot)
if reply.message == -1:
await maq.finish("请引用文字消息")
else:
logger.info("{}, {}, {}".format(reply.user_id, reply.user_card, reply.message))
image_path = await generate(reply)
msg = (MessageSegment.image(image_path),)
await maq.finish(msg)
else:
reply = await extract_reply(event, bot)
if reply.message == -1:
await maq.finish("请引用文字消息")
else:
logger.info("{}, {}, {}".format(reply.user_id, reply.user_card, reply.message))
image_path = await generate(reply)
msg = (MessageSegment.image(image_path),)
await maq.finish(msg)
except (KeyError, TypeError) as e:
logger.error(e)
await maq.finish(str(e))