zhenxun_bot/zhenxun/builtin_plugins/scheduler/morning.py

71 lines
1.8 KiB
Python
Raw Normal View History

import nonebot
from nonebot.plugin import PluginMetadata
2024-02-25 03:18:34 +08:00
from nonebot_plugin_apscheduler import scheduler
from zhenxun.configs.config import NICKNAME
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
2024-08-10 02:25:04 +08:00
from zhenxun.utils.message import MessageUtils
from zhenxun.utils.platform import broadcast_group
2024-02-25 03:18:34 +08:00
__plugin_meta__ = PluginMetadata(
name="早晚安被动技能",
description="早晚安被动技能",
usage="",
extra=PluginExtraData(
author="HibiKier",
version="0.1",
plugin_type=PluginType.HIDDEN,
2024-08-21 22:22:42 +08:00
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,
)
2024-08-03 00:34:19 +08:00
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 _():
2024-08-10 02:25:04 +08:00
message = MessageUtils.build_message(["早上好", IMAGE_PATH / "zhenxun" / "zao.jpg"])
await broadcast_group(message, log_cmd="被动早晚安", check_func=check)
logger.info("每日早安发送...")
2024-02-25 03:18:34 +08:00
# # 睡觉了
@scheduler.scheduled_job(
"cron",
2024-08-11 15:57:33 +08:00
hour=23,
minute=59,
)
async def _():
2024-08-10 02:25:04 +08:00
message = MessageUtils.build_message(
[f"{NICKNAME}要睡觉了,你们也要早点睡呀", IMAGE_PATH / "zhenxun" / "sleep.jpg"]
)
await broadcast_group(
2024-08-10 02:25:04 +08:00
message,
log_cmd="被动早晚安",
check_func=check,
)
logger.info("每日晚安发送...")