非event卡推送,以及手动查看
This commit is contained in:
+47
@@ -0,0 +1,47 @@
|
||||
from pathlib import Path
|
||||
|
||||
from nonebot import Bot, logger
|
||||
from nonebot.adapters.onebot.v11 import Message, MessageSegment
|
||||
from nonebot.internal.matcher import Matcher
|
||||
from nonebot.plugin.on import on_command
|
||||
|
||||
from . import rlib, pconfig
|
||||
|
||||
handler = on_command("烤leak最近活动")
|
||||
|
||||
|
||||
@handler.handle()
|
||||
async def _(matcher: Matcher, bot: Bot):
|
||||
try:
|
||||
data = rlib.refetch_event().unwrap()
|
||||
message = Message()
|
||||
inner = [MessageSegment.text(f"活动 {data.event_id} 的卡牌数据")]
|
||||
if len(data.cards) == 0:
|
||||
inner.append(MessageSegment.text("没有新的卡牌。"))
|
||||
# else
|
||||
for card in data.cards:
|
||||
inner.append(MessageSegment.text(card.text))
|
||||
for item in card.path:
|
||||
p = Path(item)
|
||||
n = MessageSegment.image(file=item)
|
||||
n.data["summary"] = f"[{p.name}]"
|
||||
inner.append(n)
|
||||
for node in inner:
|
||||
message.append(MessageSegment.node_custom(
|
||||
user_id=int(bot.self_id),
|
||||
nickname=pconfig.nickname,
|
||||
content=Message([node])
|
||||
))
|
||||
|
||||
await matcher.send(message)
|
||||
|
||||
for card in data.cards:
|
||||
for path in card.path:
|
||||
try:
|
||||
Path(path).unlink()
|
||||
except Exception as e:
|
||||
logger.error(f"删除文件 {path} 失败: {e}")
|
||||
except Exception as e:
|
||||
logger.error(f"获取活动数据失败: {e}")
|
||||
await matcher.send(f"获取活动数据失败: {e}")
|
||||
return
|
||||
Reference in New Issue
Block a user