zhenxun_bot/zhenxun/builtin_plugins/scheduler/morning.py
2024-08-24 19:32:52 +08:00

74 lines
1.9 KiB
Python

import nonebot
from nonebot.plugin import PluginMetadata
from nonebot_plugin_apscheduler import scheduler
from zhenxun.configs.config import BotConfig
from zhenxun.configs.path_config import IMAGE_PATH
from zhenxun.configs.utils import PluginExtraData, Task
from zhenxun.models.task_info import TaskInfo
from zhenxun.services.log import logger
from zhenxun.utils.enum import PluginType
from zhenxun.utils.message import MessageUtils
from zhenxun.utils.platform import broadcast_group
__plugin_meta__ = PluginMetadata(
name="早晚安被动技能",
description="早晚安被动技能",
usage="",
extra=PluginExtraData(
author="HibiKier",
version="0.1",
plugin_type=PluginType.HIDDEN,
tasks=[Task(module="morning_goodnight", name="早晚安")],
).dict(),
)
driver = nonebot.get_driver()
@driver.on_startup
async def _():
if not await TaskInfo.exists(module="morning_goodnight"):
await TaskInfo.create(
module="morning_goodnight",
name="早晚安",
status=True,
)
async def check(group_id: str) -> bool:
return not await TaskInfo.is_block("morning_goodnight", group_id)
# 早上好
@scheduler.scheduled_job(
"cron",
hour=6,
minute=1,
)
async def _():
message = MessageUtils.build_message(["早上好", IMAGE_PATH / "zhenxun" / "zao.jpg"])
await broadcast_group(message, log_cmd="被动早晚安", check_func=check)
logger.info("每日早安发送...")
# # 睡觉了
@scheduler.scheduled_job(
"cron",
hour=23,
minute=59,
)
async def _():
message = MessageUtils.build_message(
[
f"{BotConfig.self_nickname}要睡觉了,你们也要早点睡呀",
IMAGE_PATH / "zhenxun" / "sleep.jpg",
]
)
await broadcast_group(
message,
log_cmd="被动早晚安",
check_func=check,
)
logger.info("每日晚安发送...")