Skip to main content

Good morning & good night!

Project description

Good Morning

🌈 おはよう! 🌈

版本

v0.3.2

⚠ 适配nonebot2-2.0.0rc1+

更新日志

安装

  1. 通过pipnb安装;

  2. 用户数据data.json及早晚安配置文件config.json位于./resource下,可在env内设置MORNING_PATH更改:

    MORNING_PATH="path-to-your-resource"    # For example: ./my_data/morning_resource/
    

功能

  1. 和Bot说早晚安,记录睡眠时间,培养良好作息;

  2. 群管及超管可设置早安时限、晚安时限、优质睡眠、深度睡眠等,参见规则配置;

  3. 🔥 分群管理群友作息,群友的早晚安数据会记录至morning.json内,形如:

    {
        "123456789": {                                      # 群号
            "group_count": {                                # 群统计
                "daily": {
                    "good_morning": 1,                      # 群每日早安人数
                    "good_night": 1                         # 群每日晚安人数
                },
                "weekly": {
                    "sleeping_king": "123456"               # 群上周睡觉大王
                }
            },
            # 群友个人作息统计
            "123456": {                                     # 群友QQ号
                "daily": {
                    "morning_time": "2022-01-01 07:08:09",  # 每日早安时间
                    "night_time": "2022-01-01 22:33:44"     # 每日晚安时间
                },
                "weekly": {
                    "weekly_morning_count": 1,              # 周早安天数
                    "weekly_night_count": 1,                # 周晚安天数
                    "weekly_sleep": [0, 7, 8, 9],           # 周睡眠时长,列表形式:天/时/分/秒,例如0天7时8分9秒
                    "lastweek_morning_count": 1,            # 上周早安天数(暂存)
                    "lastweek_night_count": 1,              # 上周晚安天数(暂存)
                    "lastweek_sleep": [0, 7, 8, 9],         # 上周睡眠时长(暂存)
                    "lastweek_earliest_morning_time": 0,    # 上周早安最早的时间(暂存)
                    "lastweek_latest_night_time": 0         # 上周晚安最晚的时间(暂存)
                },
                "total": {
                    "morning_count": 1,                     # 总早安次数
                    "night_count": 1,                       # 总晚安次数
                    "total_sleep": [0, 7, 8, 9]             # 总睡眠时间
                }
            }       
        }
    }
    

    👉 说明:

    1. 个人信息字段的daily储存每日作息数据;weekly储存每周作息数据,lastweek_前缀的数据为上周的“每周作息数据”,即暂存上周作息数据;total为总作息数据;

    2. 每周一的最晚早安时间定时更新,在周一且当天最晚早安时间后,群友作息我的作息将增加有关上周作息数据的信息(包括lastweek_前缀的数据与群信息字段中的weekly数据,目前仅有上周睡觉大王);

  4. 新增 将自动更新v0.2.x的数据文件data.json为新版morning.json;将自动更新v0.2.x的配置文件config.json部分键值。在插件初始化时,若不存在新版数据文件且存在旧版数据文件data.json,则更新数据字段、保留原始数据,否则创建空的新版数据文件。

    ⚠ 若存在新版数据文件morning.json,则不会重复更新

    ⚠ 自动检测配置文件config.json的部分键值是否为旧版并自动更新,后续版本将弃用该部分兼容

  5. おはよう!🌈

命令

  1. 早晚安:[早安/晚安],记录睡眠时间;

  2. 查看我的作息:[我的作息]:每周一新增显示上周睡眠信息统计,其他时间显示本周信息;

  3. 查看群友作息:[群友作息],看看今天几个群友睡觉或起床了,每周一新增显示上周睡觉王;

  4. 查看当前安早晚安配置(规则):[早晚安设置];

  5. [管理员或超管] 设置命令

    • 开启/关闭某个配置:早安/晚安开启/关闭某项功能;

    • 早安/晚安设置:设置功能的参数;

    • 详见规则配置;

全局规则配置

confg.json 全局规则配置文件已默认写入下述配置,会自动检测旧版配置文件并自动更新,当不存在时则创建并写入下述初始值

{
    "morning": {
        "morning_intime": {         # 是否只能在规定时间起床
            "enable": true,         # 默认开启,若关闭则下面两项无效
            "early_time": 6,        # 允许的最早的起床时间,默认早上6点
            "late_time": 12         # 允许的最晚的起床时间,默认中午12点
        },
        "multi_get_up": {           # 是否允许多次起床
            "enable": false,        # 默认不允许,若允许则下面一项无效
            "interval": 6           # 两次起床间隔的时间,小于这个时间就不允许起床
        },
        "super_get_up": {           # 是否允许超级亢奋,即睡眠时长很短
            "enable": false,        # 默认不允许,若允许则下面一项无效
            "interval": 3           # 这次起床和上一次睡觉的时间间隔,小于这个时间就不允许起床,不怕猝死?给我睡!
        }
    },
    "night": {
        "night_intime": {           # 是否只能在规定时间睡觉
            "enable": true,         # 默认开启,若关闭则下面两项无效
            "early_time": 21,       # 允许的最早的睡觉时间,默认晚上21点
            "late_time": 6          # 允许的最晚的睡觉时间,默认次日早上6点
        },
        "good_sleep": {             # 是否开启优质睡眠
            "enable": true,         # 默认开启,若关闭则下面一项无效
            "interval": 6           # 两次睡觉间隔的时间,小于这个时间就不允许睡觉
        },
        "deep_sleep": {             # 是否允许深度睡眠,即清醒时长很短
            "enable": false,        # 默认不允许,若允许则下面一项无效
            "interval": 3           # 这次睡觉和上一次起床的时间间隔,小于这个时间就不允许睡觉,睡个锤子,快起床!
        }
    }
}
  1. 默认配置(如上)

    • 早安:

      是否要求规定时间内起床:是

      是否允许连续多次起床:否

      是否允许超级亢奋(即睡眠时长很短):否

    • 晚安:

      是否要求规定时间内睡觉:是

      是否开启优质睡眠:是

      是否允许深度睡眠(即清醒时长很短):否

  2. 早安配置

    • [早安开启 xx] 开启某个配置选项,配置项有:时限/多重起床/超级亢奋;例如,[早安开启 多重起床];

    • [早安关闭 xx] 关闭某个配置选项,配置项有:时限/多重起床/超级亢奋;例如,[早安关闭 时限];

    • [早安设置 xx x] 设置某个配置的参数,配置项有:时限/多重起床/超级亢奋;(x可选值为0到24的整数)

      ⚠ 配置参数时,可一次性输入规定的参数,也可通过引导一步步设置

      ⚠ 当设置时限时需要两个参数,命令为:[早安设置 时限 x y],其余只需一个参数,例如,[早安设置 超级亢奋 5]

      ⚠ 配置项具体含义参见上述规则配置

      ⚠ 当配置某个选项时,会自动启用该选项

  3. 晚安配置

    • [晚安开启 xx] 开启某个配置选项,配置项有:时限/优质睡眠/深度睡眠;例如,[晚安开启 优质睡眠];

    • [晚安关闭 xx] 关闭某个配置选项,配置项有:时限/优质睡眠/深度睡眠;例如,[晚安关闭 深度睡眠];

    • [晚安设置 xx x] 设置某个配置的参数,配置项有:时限/优质睡眠/深度睡眠;(x可选值为0到24的整数)

      ⚠ 注意事项参考早安配置

本插件改自

hoshinobot-good_morning

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-morning-0.3.2.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

nonebot_plugin_morning-0.3.2-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file nonebot-plugin-morning-0.3.2.tar.gz.

File metadata

  • Download URL: nonebot-plugin-morning-0.3.2.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.5 Linux/5.4.0-135-generic

File hashes

Hashes for nonebot-plugin-morning-0.3.2.tar.gz
Algorithm Hash digest
SHA256 aea6a25dd9531992113b3bd0db25d67ba0c684a0ba1abc32cfd86de25bc2d1b4
MD5 9ad727e3caf63e951dbb886f5feb98ec
BLAKE2b-256 7b0143926c35dac813acd43446c646c33f72a829fb07fef356aab06a2c3a5107

See more details on using hashes here.

File details

Details for the file nonebot_plugin_morning-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_morning-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3d3b2b5758255df576ea3621af8fac52e2f1bf397af96efbdd838b2e2d8aa78a
MD5 429875c40fe9e64a07016205df849adb
BLAKE2b-256 628f411dd843bc03ebe640fd5ca6f218089338bd49d6e276e9e16ed5ede0e89f

See more details on using hashes here.

Supported by

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