Skip to content

Repository files navigation

⏰ 定时提醒助手

⏳ Time is what we want most, but what we use worst.

License Python AstrBot

💡 简介

一款为 AstrBot 设计的定时提醒插件,支持使用 cron 表达式创建定时任务,支持图文混排、表情、At、语音、视频消息,支持自动撤回发送的提醒消息。


🚀 功能特性

  • 🖥️ 可视化管理面板: 支持通过 Pages 直接管理、编辑提醒和任务
  • 🕐 灵活的定时规则: 支持标准 cron 表达式(5段格式),可设置每天、每周、每月等各种定时规则
  • 📝 富媒体消息: 完美支持文字、图片、表情、艾特(At)、语音、视频等组件
  • 🎯 智能目标选择: 默认发送到当前会话,可通过 @好友号 指定私聊、#群号 指定群聊
  • 📡 多会话启停控制: 同一提醒/任务可在多个会话中启用,支持按会话单独或批量启动/停止
  • 🔁 执行轮次上限: 支持设置提醒/任务最多执行轮次,达到上限后自动移除
  • ⏳ 随机延迟: 支持设置触发后随机延迟 [0, N] 分钟再执行,避免集中触发
  • 🔧 指令任务模块: 支持创建定时执行指令的任务,自动传递管理员权限
  • 🔗 链接提醒功能: 可将指令链接到提醒,提醒发送后自动执行对应指令

📖 使用指南

Tip

建议优先使用 WebUI 可视化管理面板(通过 /启动提醒控制台 开启),更直观便捷。

Caution

所有指令仅限 Bot 管理员或白名单用户使用

🔔 添加提醒

格式1(当前会话):

/添加提醒 <名称> <cron表达式> <消息>

格式2(指定私聊/群聊):

/添加提醒 <名称> [@<好友号>|#<群号>] <cron表达式> <消息>

格式3(可选撤回时间):

/添加提醒 <名称> <cron表达式> <[r时间]> <消息>

格式4(可选执行轮次上限):

/添加提醒 <名称> [-执行次数] [@<好友号>|#<群号>] <cron表达式> <消息>

格式5(可选随机延迟):

/添加提醒 <名称> [d延迟分钟] [-执行次数] [@<好友号>|#<群号>] <cron表达式> <消息>

说明:

  • 在消息中写入 [atall][at:123456789],发送时会转换为 QQ @组件,也可在发送指令时直接插入真实 @成员 / @全体 组件,同时支持 [@所有人] / [@全体] / [@123456789] 同义写法
  • [r时间] 为撤回写法,单位说明:d=天h=小时m=分钟s=秒,可以组合使用(如 [r10s][r2m][r1h30m][r1d2h]
  • [-数字] 为执行轮次上限写法(如 [-1][-3]);[-0] 表示不限执行次数
  • [d数字] 为随机延迟分钟数写法(如 [d5] 表示触发后随机延迟 0~5 分钟再执行);[d0] 表示关闭
  • 可通过“引用消息”直接设置提醒内容,用于设置视频或语音类提醒;若指令正文和引用内容同时存在,则发送时会先发正文,再发引用内容

Tip

提醒名称不能为纯阿拉伯数字(避免与序号混淆)
引用消息功能仅 aiocqhttp 平台可用

基础示例:

/添加提醒 早安 0 9 * * * 早上好!

每天9点在当前会话发送

/添加提醒 周报 #123456789 0 18 * * 5 本周工作总结

每周五18点在指定群聊发送

⭐ 多时间点示例 (使用逗号分隔):

/添加提醒 喝水 0 9,14,18 * * * 记得喝水!

每天9点、14点、18点各发送一次

/添加提醒 课间休息 0 10,15,20 * * 1-5 该休息了

工作日10点、15点、20点发送

/添加提醒 晚点名 37 * * * * [r30s] [@所有人] 晚点名打卡啦!

每小时第37分钟发送,发送后 30 秒撤回,并 @全体成员

/添加提醒 倒计时提醒 [-3] 0 9 * * * 仅发送三次

每天9点发送,累计发送3次后自动移除

/添加提醒 日报提醒 0 9 * * * [@123456789] 记得发日报

每天9点 @指定成员 执行一次提醒

/添加提醒 随机测试 [d5] 0 9 * * * 每天延迟0-5分钟后发送

每天9点触发,随机延迟 0~5 分钟后才发出消息

/添加提醒 综合示例 [d5] [-3] #群号 0 9 * * * [@所有人] 早上好

每天9点触发,延迟 0~5 分钟后在指定群聊 @全体成员,仅执行 3 次

真实艾特示例

/添加提醒 会议提醒 0 9 * * * 请@小组成员 准时参会

上面示例中的 @小组成员 为真实艾特组件。

🛠️ 添加任务

格式1(当前会话):

/添加任务 <名称> <cron表达式> <指令>

格式2(指定私聊/群聊):

/添加任务 <名称> [@<好友号>|#<群号>] <cron表达式> <指令>

格式3(可选执行轮次上限):

/添加任务 <名称> [-执行次数] [@<好友号>|#<群号>] <cron表达式> <指令>

格式4(可选随机延迟):

/添加任务 <名称> [d延迟分钟] [-执行次数] [@<好友号>|#<群号>] <cron表达式> <指令>

说明

  • 任务指令同样支持艾特组件(At/AtAll)
  • 支持使用 && 分隔多个指令,任务触发时将按顺序依次执行:/签到 && /打卡
  • 同时支持占位写法:[at:123456789][atall][@123456789][@所有人]
  • 也支持在发送指令时直接插入真实 @成员 / @全体成员 组件
  • [-数字] 为执行轮次上限写法;[-0] 表示不限执行次数
  • [d数字] 为随机延迟分钟数写法;[d0] 表示关闭

Tip

任务名称不能为纯阿拉伯数字(避免与序号混淆)

基础示例:

/添加任务 每日签到 0 9 * * * /签到

每天9点在当前会话执行签到指令

/添加任务 群签到 #123456789 0 9 * * * /签到

每天9点在指定群聊执行签到指令

/添加任务 限次签到 [-5] #123456789 0 9 * * * /签到

每天9点在指定群聊执行,累计执行5次后自动移除

/添加任务 每日连招 0 9 * * * /签到 && /早安 && /今日运势

每天9点依次执行签到、早安和运势指令。

/添加任务 延迟签到 [d10] 0 9 * * * /签到

每天9点触发,随机延迟 0~10 分钟后执行签到。

🔗 链接提醒

将提醒与指令任务关联,提醒发送后自动执行指定指令:

/链接提醒 <提醒名称或序号> <指令>

示例:

/链接提醒 早安 /签到

当「早安」提醒执行后,会自动执行「/签到」指令

说明:

  • 指令需以指令前缀(如/)开头
  • 支持为同一个提醒链接多个指令

📋 查看提醒

查看所有提醒列表:

/查看提醒

显示所有已创建的提醒任务列表(简略信息)

查看指定提醒详情(支持序号或名称):

/查看提醒 <序号或提醒名称>

查看指定提醒的完整详细信息,包括:

  • 发送目标、定时规则、创建时间等属性
  • 完整的提醒内容(所有文字和图片)
  • 已链接的任务信息

📋 查看任务

查看所有任务列表:

/查看任务

显示所有已创建的任务列表(简略信息)

查看指定任务详情(支持序号或名称):

/查看任务 <序号或任务名称>

查看指定任务的完整详细信息,包括:

  • 执行目标、定时规则、创建时间等属性
  • 执行的指令内容

🔗 查看链接

查看所有已链接的指令:

/查看链接

显示所有提醒及其已链接指令列表

❌ 删除提醒

/删除提醒 <序号或提醒名称>

删除指定的提醒任务(支持通过 /查看提醒 获取序号或直接使用名称)

🧹 删除任务

/删除任务 <序号或任务名称>

删除指定的任务(支持通过 /查看任务 获取序号或直接使用名称)

✏️ 编辑提醒/任务

支持仅修改会话、cron、撤回、次数或内容:

/编辑提醒 <提醒名称或序号> [-执行次数] [r时间] [@<好友号>|#<群号> ...] [cron表达式] [消息内容]
/编辑任务 <任务名称或序号> [-执行次数] [r时间] [@<好友号>|#<群号> ...] [cron表达式] [指令]

说明:

  • 会话参数仅支持 @数字 / #数字
  • cron 表达式必须为 5 段(分 时 日 月 周)
  • 内容/指令可省略,用于仅修改会话或 cron
  • [-数字] 可单独用于更新执行轮次上限;[-0] 表示清除上限(不限)
  • [d数字] 可单独用于更新随机延迟;[d0] 表示关闭延迟
  • 编辑提醒时可用 [r0s] 单独清除自动撤回设置

⚡ 启动/停止提醒与任务

在不同会话中启用或停止已有的提醒/任务:

/启动提醒 <提醒名称或序号> [@好友号|#群号 ...]
/停止提醒 <提醒名称或序号> [@好友号|#群号 ...]
/启动任务 <任务名称或序号> [@好友号|#群号 ...]
/停止任务 <任务名称或序号> [@好友号|#群号 ...]

不带会话参数时作用于当前会话;带 @好友号 时作用于指定私聊,带 #群号 时作用于指定群聊。

✂️ 删除链接

删除指定的链接任务:

/删除链接 <提醒序号> <命令序号>

示例:

/删除链接 1 1

删除第1个有链接的提醒的第1个链接命令

⚡ 立即执行

立即执行任务:

/立即执行 <任务名称或序号>

在任务配置的所有会话中立即执行该任务

示例:

/执行任务 每日签到
/立即执行 1

立即发送提醒:

/立即提醒 <提醒名称或序号>

在提醒配置的所有会话中立即发送该提醒

示例:

/发送提醒 早安
/立即提醒 1

⚙️ Cron 表达式说明

格式: 分 时 日 月 周

  • : 0-59
  • : 0-23
  • : 1-31
  • : 1-12
  • : 0-6 (0=周日)

特殊符号:

  • *: 任意值
  • */n: 每n个单位
  • a,b,c: 多个具体值(逗号分隔)
  • a-b: 范围值

常用示例:

Cron 表达式 说明
0 9 * * * 每天9点
0 */2 * * * 每2小时
30 18 * * 1-5 工作日18:30
0 0 1 * * 每月1号0点
0 9,12,18 * * * 每天9点、12点、18点
30 8-17/2 * * * 8:30到17:30之间,每2小时

📝 更新日志

详见 CHANGELOG


❤️ 支持


如果本插件对你有帮助,欢迎点个 ⭐ Star 支持一下!

About

一款为 AstrBot 设计的定时提醒插件。

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

Generated from Soulter/helloworld