import datetime
from apscheduler.triggers.date import DateTrigger
from apscheduler.triggers.cron import CronTrigger
from nonebot import on_command, scheduler, CommandSession, message, on_startup
from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore
from config import database_call
# sql:///D:\\date.db
@on_startup
async def scheduler_clock():
call_me = SQLAlchemyJobStore(url=database_call)
scheduler.add_jobstore(call_me, "call")
@on_command('clock', aliases=('闹钟', '定个闹钟'), only_to_me=False)
async def main_clock(session: CommandSession):
time = session.get('time', prompt=r'请问您要定一个几点的闹钟?')
# 制作一个“5分钟后”触发器
delta = datetime.timedelta(minutes=float(time))
trigger = DateTrigger(
run_date=datetime.datetime.now() + delta
)
# 添加任务
scheduler.add_job(
func=session.send, # 要添加任务的函数,不要带参数
trigger=trigger, # 触发器
args=('您定的闹钟时间到了',), # 函数的参数列表,注意:只有一个值时,不能省略末尾的逗号
misfire_grace_time=60,
jobstore='call',
)
await session.send('已经为您订好了一个' + time + '分钟的闹钟')
大佬看看,这是源码,我搞不太定了,淦 |