mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 06:12:53 +08:00
74 lines
1.9 KiB
Python
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("每日晚安发送...")
|