2026-06-20 23:07:40 +08:00

54 lines
1.4 KiB
Python

import json
from pathlib import Path
from nonebot import get_bot
from nonebot.adapters.onebot.v11 import Message, MessageSegment
from nonebot_plugin_apscheduler import scheduler
from .config import pconfig
from .lib import rlib
group_file = Path("config") / "nonebot_sekai_update_notify" / "group.json"
group_file.parent.mkdir(parents=True, exist_ok=True)
if not group_file.exists():
group_file.write_text("[]")
enabled_groups = json.loads(group_file.read_text())
def add_group(group_id: int):
if group_id not in enabled_groups:
enabled_groups.append(group_id)
group_file.write_text(json.dumps(enabled_groups))
def remove_group(group_id: int):
if group_id in enabled_groups:
enabled_groups.remove(group_id)
group_file.write_text(json.dumps(enabled_groups))
async def sync():
data = rlib.fetch_data()
if data is None:
return
message = Message()
inner = [MessageSegment.text(f"活动 {data.event_id} 的卡牌更新了!\n")]
for item in data.card_paths:
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(get_bot().self_id),
nickname=pconfig.nickname,
content=Message([node])
))
for group in enabled_groups:
await get_bot().send_group_msg(message=message, group_id=group)