2021-05-20 19:31:25 +08:00
|
|
|
from .alc import get_almanac_base64_str, load_data
|
|
|
|
|
import os
|
2021-06-30 19:50:55 +08:00
|
|
|
from utils.utils import get_bot, scheduler
|
2021-05-20 19:31:25 +08:00
|
|
|
from nonebot import on_command
|
|
|
|
|
from models.level_user import LevelUser
|
|
|
|
|
from nonebot.typing import T_State
|
2021-07-30 21:21:51 +08:00
|
|
|
from nonebot.adapters.cqhttp import Bot, GroupMessageEvent, MessageEvent
|
|
|
|
|
from utils.message_builder import image
|
2021-05-20 19:31:25 +08:00
|
|
|
from services.log import logger
|
|
|
|
|
from models.group_remind import GroupRemind
|
|
|
|
|
|
2021-06-15 10:57:08 +08:00
|
|
|
|
2021-05-20 19:31:25 +08:00
|
|
|
FILE_PATH = os.path.dirname(__file__)
|
|
|
|
|
|
2021-07-30 21:21:51 +08:00
|
|
|
almanac = on_command("原神黄历", priority=5, block=True)
|
|
|
|
|
reload = on_command("重载原神黄历数据", priority=5, block=True)
|
2021-05-20 19:31:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@almanac.handle()
|
2021-07-30 21:21:51 +08:00
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
2021-05-20 19:31:25 +08:00
|
|
|
almanac_base64 = get_almanac_base64_str()
|
|
|
|
|
mes = image(b64=almanac_base64) + "\n ※ 黄历数据来源于 genshin.pub"
|
|
|
|
|
await almanac.send(mes)
|
|
|
|
|
logger.info(
|
2021-07-30 21:21:51 +08:00
|
|
|
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'})"
|
|
|
|
|
f" 发送查看原神黄历"
|
|
|
|
|
)
|
2021-05-20 19:31:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@reload.handle()
|
|
|
|
|
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
|
|
|
|
|
if await LevelUser.check_level(event.user_id, event.group_id, 5):
|
|
|
|
|
load_data()
|
|
|
|
|
await reload.send("重载成功")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@scheduler.scheduled_job(
|
2021-07-30 21:21:51 +08:00
|
|
|
"cron",
|
2021-05-20 19:31:25 +08:00
|
|
|
hour=10,
|
|
|
|
|
minute=25,
|
|
|
|
|
)
|
|
|
|
|
async def _():
|
|
|
|
|
# 每日提醒
|
|
|
|
|
bot = get_bot()
|
|
|
|
|
gl = await bot.get_group_list(self_id=bot.self_id)
|
2021-07-30 21:21:51 +08:00
|
|
|
gl = [g["group_id"] for g in gl]
|
2021-05-20 19:31:25 +08:00
|
|
|
almanac_base64 = get_almanac_base64_str()
|
|
|
|
|
mes = image(b64=almanac_base64) + "\n ※ 黄历数据来源于 genshin.pub"
|
|
|
|
|
for gid in gl:
|
2021-07-30 21:21:51 +08:00
|
|
|
if await GroupRemind.get_status(gid, "almanac"):
|
2021-05-20 19:31:25 +08:00
|
|
|
await bot.send_group_msg(group_id=int(gid), message=mes)
|