33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
"""网抑云 —— 触发器(Trigger)层。"""
|
|||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from nonebot import logger, on_command
|
||
|
|
from nonebot.adapters.onebot.v11 import MessageEvent, MessageSegment
|
||
|
|
|
||
|
|
from ..services.saying import fetch_hitokoto
|
||
|
|
|
||
|
|
__help_version__ = "0.1.0"
|
||
|
|
__help_plugin_name__ = "网抑云"
|
||
|
|
__usage__ = """一开口就老网抑云了
|
||
|
|
|
||
|
|
指令:/网抑云|网易云热评:随机一条网易云热评"""
|
||
|
|
|
||
|
|
hitokoto_matcher = on_command("网抑云", aliases={"网易云热评", "emo"})
|
||
|
|
|
||
|
|
|
||
|
|
@hitokoto_matcher.handle()
|
||
|
|
async def hitokoto(event: MessageEvent):
|
||
|
|
try:
|
||
|
|
data = await fetch_hitokoto()
|
||
|
|
except Exception as e: # noqa: BLE001
|
||
|
|
logger.error(f"网抑云:获取失败: {e}")
|
||
|
|
await hitokoto_matcher.finish("获取网抑云失败,请稍后再试")
|
||
|
|
return
|
||
|
|
if data is None:
|
||
|
|
await hitokoto_matcher.finish("获取网抑云失败,请稍后再试")
|
||
|
|
return
|
||
|
|
logger.info(f"解析后的数据:{data}")
|
||
|
|
mes = (MessageSegment.reply(event.message_id), data.split("——")[0])
|
||
|
|
await hitokoto_matcher.finish(mes)
|