Skip to main content

nonebot2插件:提供符合中国宝宝体质的定时提醒功能~

Project description

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-remind

📖 介绍

这是一个提供符合中国宝宝体质的定时提醒功能的插件

💿 安装

使用 nb-cli 安装 在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-remind
使用包管理器安装 在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令

pip

pip install nonebot-plugin-remind

打开 nonebot2 项目根目录下的 pyproject.toml 文件, 在 [tool.nonebot] 部分追加写入

plugins = ["nonebot_plugin_remind"]

⚙️ 配置

在 nonebot2 项目的.env文件中添加如下可选配置

配置项 必填 默认值 说明
private_list_all Ture 私聊中"/提醒列表"命令是否列出私聊群聊全部提醒
remind_keyword_error Ture 触发“提醒”关键词时是否发送错误提示
GLM_4_MODEL "" 仅用于解析单次提醒的GLM-4系列大模型的名称
GLM_4_MODEL_CRON "" 仅用于解析循环提醒的GLM-4系列大模型的名称
GLM_API_KEY "" GLM-4系列大模型的API_KEY

🎉 使用

关键词触发

提醒

触发格式:

[@][时间]'提醒'[被提醒人][消息]

各部分解释:

  • [@](以下条件任意满足一条即可)

    • 在消息开头@机器人
    • 回复机器人的任意一条消息
    • 如果机器人设置了 NICKNAME 环境变量,则只需在消息开头称呼其昵称
  • [时间](以下时间格式均符合要求):必须使用北京时间24小时制

    • 2025-1-1-8:00: 精确设定2025年1月1日上午8:00
    • 9.10.18:00 或者 9.10.18.00: 设定距离当前时间最近的未来的9月10日18:00
    • 21:12 或者 21.12: 设定距离当前时间最近的未来的21点12分
    • 当正确配置了 GLM_4_MODELGLM_API_KEY 这两个环境变量之后,你将获得更自由更符合人类语言的丰富体验,不再局限于上述有限的几种时间格式,包括但不限于以下几种情况将被支持:
      • 明天晚上八点1刻
      • 20分钟后
      • 下周三的同一时间
      • 今年的教师节早上八点
      • 10月1日提前10天的正午12点
      • ……
    • 特别提醒: 推荐使用免费的"glm-4-flash"模型,即可满足大部分简单需求。越复杂的时间描述(如 一坤时后 )对大语言模型的理解能力需求越高,需合理选择大模型。

    除此之外,时间部分还支持循环提醒的设置(默认采用正则表达式匹配)

    • 每年3月12日7:00
    • 每月22日22:00
    • 每周一三五18:00
    • 每天15:00
    • 每小时30分

    可匹配的正则表达式如下:

    "每个?小?时的?(\d{1,2})分?"
    "每天的?(\d{1,2})[::.点](\d{1,2})分?"
    "每个?月的?(\d{1,2})[号日.]的?(\d{1,2})[::.点](\d{1,2})分?"
    "每个?年的?(\d{1,2})[月.](\d{1,2})[号日.]的?(\d{1,2})[::.点](\d{1,2})分?"
    "每个?(?:周|星期|礼拜)的?([一二三四五六七日天]+)的?(\d{1,2})[::.点](\d{1,2})分?"  
    
    • 特别提醒: 与单次提醒不同,免费的"glm-4-flash"模型在解析循环提醒获取参数时表现不佳,建议选择更智能的模型,比如"glm-4-plus",因此提供了不同的环境变量设置 (GLM_4_MODEL_CRON) 。
  • '提醒': 要匹配的关键字,必须完全一致

  • [被提醒人](以下格式均符合要求)

    • :提醒设定提醒的人自己
    • [@]:可以@多个用户,包括自己,也可以@全体成员
    • 我和[@]:必须我在前面,其他@用户在后
    • all 或者 所有人: 等同于@全体成员,提供一个非打扰式的提醒设定
  • [消息]

    • 任意消息(支持图片、QQ黄脸表情等富文本消息)均可,前提是必须在同一条消息中发送出

示例:

  1. @机器人 16:00提醒我去开会
  2. 机器人昵称,1.1.11.40提醒所有人去聚餐
  3. 机器人昵称 2025-1-29-8:00提醒我和@用户1 用户2 新年新气象!
  4. 错误示例: @机器人 明天16:00提醒我去开会,此时默认情况机器人会报错,配置环境变量 remind_keyword_error=false 可关闭匹配错误时的提醒。

指令触发

以下触发均需要指令前缀,如未设置默认为/

提醒

  • 提供1个参数为 被提醒人,以交互的方式设置提醒:

  • 提供3个参数,以英文逗号,间隔,依次为:被提醒人时间提醒消息

以上两种命令的触发方式均可省略 被提醒人 参数,省略时默认被提醒人为“我”。

提醒列表(单次提醒列表)

列表顺序默认按提醒时间顺序排序,使用 -s 选项按设置提醒的先后顺序排序

当在群聊中触发此指令时,仅返回在群聊内设置的提醒。

当在私聊中触发此指令时,返回所有私聊和群聊中设置的提醒。

注意:当配置环境变量 private_list_all=false 时,私聊时也仅返回私聊中设置的提醒。

循环提醒列表

此命令只会输出设置的循环提醒任务,不支持 -s 选项的排序,默认按照设置顺序排序。

删除提醒(删除单次提醒)

使用的列表顺序默认按提醒时间顺序排序,使用 -s 选项按设置提醒的先后顺序排序的序号删除

注意:在删除提醒之前一定要先通过 /提醒列表 指令查看序号!每次删除后后续序号都会更新!

示例:

  1. /删除提醒 1:删除序号为1的提醒(默认按提醒时间排序)
  2. /删除提醒 -s 1-3 5:批量删除序号为1、2、3、5的提醒(按设置时间排序)
  3. /删除提醒 all:一键删除所有提醒(仅当前群聊)

删除循环提醒

/删除提醒 命令用法相同,同样不支持 -s 选项排序,必须提供由 /循环提醒列表 命令查看得到的任务序号。

示例图

提醒关键词示例图 提醒命令示例图 提醒列表命令示例图 删除提醒命令示例图

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_remind-0.1.7.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_remind-0.1.7-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_remind-0.1.7.tar.gz.

File metadata

  • Download URL: nonebot_plugin_remind-0.1.7.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for nonebot_plugin_remind-0.1.7.tar.gz
Algorithm Hash digest
SHA256 24f4ac3a64027128f0ca4d960c2a7a0c0f1c685826a6875fbf372774e82109dc
MD5 068f1e419710de35c343660c8b6a141c
BLAKE2b-256 3657c99c0024463dd3285c95f5e169f965fe21d87b48c602ef3204ba72047742

See more details on using hashes here.

File details

Details for the file nonebot_plugin_remind-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_remind-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 55bcaab8176eaff2c6f773210b54219b39fbf319cdc5d090863dd1f18e87530a
MD5 32a943cfb45390a40c9854a5f4e6190c
BLAKE2b-256 8a325279acfaeff83e4fb9eea74e40d42a510aafbadf6613bd40f6dcf18a850a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page