nonebot-plugin-github-release-notifier


Namenonebot-plugin-github-release-notifier JSON
Version 0.1.10 PyPI version JSON
download
home_pageNone
SummaryA plugin for nonebot & onebot to notify group members of new commits, issues, and PRs in GitHub repos.
upload_time2025-08-13 11:25:19
maintainerNone
docs_urlNone
authorNone
requires_python<=3.13,>=3.10
licenseNone
keywords nonebot github qqbot reminder
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
    <a href="https://v2.nonebot.dev/store">
    <img src="https://raw.githubusercontent.com/fllesser/nonebot-plugin-template/refs/heads/resource/.docs/NoneBotPlugin.svg" width="310" alt="logo"></a>

  <em>✨ NoneBot GitHub Release Notifier ✨</em>
</div>

<p align="center">
  <a href="./LICENSE">
    <img src="https://img.shields.io/github/license/HTony03/nonebot_plugin_github_release_notifier.svg" alt="license">
  </a>
  <a href="https://pypi.python.org/pypi/nonebot-plugin-github-release-notifier">
    <img src="https://img.shields.io/pypi/v/nonebot-plugin-github-release-notifier.svg" alt="pypi">
  </a>
  <img src="https://img.shields.io/badge/python-3.9+-blue.svg?style=social" alt="python">
  <a href="https://wakatime.com/badge/github/HTony03/nonebot_plugin_github_release_notifier">
    <img src="https://wakatime.com/badge/github/HTony03/nonebot_plugin_github_release_notifier.svg?style=social" alt="wakatime">
  </a>
</p>

本插件用于监控 GitHub 仓库发布并发送通知。

其他语言 | Other languages: [English](/README_en.md)

## 📖 介绍

本插件可以监控多个 GitHub 仓库,通过 QQ Bot 通知用户新动态,并支持自定义通知格式。

## 💿 安装

<details open>
<summary>使用 nb-cli 安装</summary>
在 nonebot2 项目的根目录下打开命令行,输入以下指令即可安装:

    nb plugin install nonebot-plugin-github-release-notifier

</details>

<details>
<summary>使用包管理器安装</summary>
在 nonebot2 项目的插件目录下,打开命令行,根据你使用的包管理器,输入相应的安装命令:

<details>
<summary>pip</summary>

    pip install nonebot-plugin-github-release-notifier
</details>

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

    plugins = ["nonebot-plugin-github-release-notifier"]

</details>

## ⚙️ 配置

使用前请确保 nonebot2 的 SUPERUSERS 配置项已配置。

在 nonebot2 项目的 `.env` 文件中添加下表中的必填配置:

| 配置项 | 必填 | 默认值 | 说明 |
|:-----:|:----:|:----:|:----:|
| GITHUB_TOKEN | 否 | 空字符串 | 用于访问 GitHub API 的 Token |
| GITHUB_RETRIES | 否 | 3 | 刷新最大重试次数 |
| GITHUB_RETRY_DELAY | 否 | 5 | 每次刷新重试之间的延迟(秒) |
| GITHUB_DISABLE_WHEN_FAIL | 否 | False | 在获取仓库数据失败时禁用配置 |
| GITHUB_LANGUAGE | 否 | "en_us" | 发送的模板语言 |
| GITHUB_SEND_FALIURE_GROUP | 否 | True | 失败时是否通知群聊 |
| GITHUB_SEND_FALIURE_SUPERUSER | 否 | False | 失败时是否通知超级用户 |
| GITHUB_DEFAULT_CONFIG_SETTING | 否 | True | 添加仓库时默认监控所有事件 |
| GITHUB_SEND_IN_MARKDOWN | 否 | False | 是否以 Markdown 图片方式发送消息 |
| GITHUB_SEND_DETAIL_IN_MARKDOWN | 否 | True | 是否以 Markdown 图片方式发送详细信息(pr/issue/release)|
| GITHUB_UPLOAD_REMOVE_OLDER_VER | 否 | True | 上传 release 文件时是否移除旧版本( in development) |
| GITHUB_THEME | 否 | "dark" | (针对issue/pull request comment)渲染页面风格 ["light","dark"] | 

`v0.1.9` 删除了对于`.env`添加群组repo的适配, 请使用指令使用相关功能

`v0.1.10` 删除了使用自定义模板输出格式,请使用`github_language`配置相关模板


## 🎉 使用

### 指令表

本插件所有**非仅管理员或SUPERUSEES**指令均设有15s Cooldown

私聊使用command请将配置群号放在指令最后,如`/repo.add <user>/<repo> <group_id>`

| 指令 | 权限 | 需要@ | 范围 | 说明 |
|:-----:|:----:|:----:|:----:|:----:|
| /add_group_repo 或 /repo.add | SUPERUSERS 或管理员 | 否 | 私聊&群聊 | 添加群组仓库映射 |
| /del_group_repo 或 /repo.delete 或 /repo.del | SUPERUSERS 或管理员 | 否 | 私聊&群聊 | 删除群组仓库映射 |
| /change_group_repo_cfg 或 /repo.config 或 /repo.cfg | SUPERUSERS 或管理员 | 否 | 私聊&群聊 | 修改仓库配置(支持布尔型和字符串型配置,详见下方说明) |
| /show_group_repo 或 /repo.show | SUPERUSERS 或管理员 | 否 | 私聊&群聊 | 查看群组仓库映射 |
| /refresh_group_repo 或 /repo.refresh | SUPERUSERS 或管理员 | 否 | 私聊&群聊 | 刷新 GitHub 状态 |
| /repo_info 或 /repo.info | 所有人 | 否 | 私聊&群聊 | 查看仓库详细信息 |
| /check_api_usage | 所有人 | 否 | 私聊&群聊 | 查看 GitHub API 使用情况 |


### TODOS

- [x] 自定义发送信息格式
- [ ] 添加help
- [ ] 数据库结构重置
- [x] markdown 信息支持
- [x] markdown 转图片展示
- [ ] issue/pr 详细信息支持
- [x] 转发issue/pr comments
- [x] 渲染gh页面展示pr/issue

## LICENCE

本插件按照MIT协议传播,相关LICENCE见[此处](./LICENSE)

## Releases

`v0.1.10` 添加issue comment转发支持,使用[`cscs181/QQ-GitHub-Bot`](https://github.com/cscs181/QQ-GitHub-Bot)渲染新页面

`v0.1.9` 删除了对于`.env`添加群组repo, 请使用指令使用相关功能

`v0.1.8` 已知问题修复,readme更新

`v0.1.3`-`v0.1.7` bug修复,发布至nonebot

`V0.1.2` 修改发布信息

`V0.1.0`-`V0.1.1` 主程序完成,功能适配, 准备发布
</br>
</br>
</br>
#### 免责申明(叠甲(bushi))
插件**部分**代码来自/启发自 [`cscs181/QQ-GitHub-Bot`](https://github.com/cscs181/QQ-GitHub-Bot),以MIT协议传播,详细可见 [此处](https://github.com/cscs181/QQ-GitHub-Bot/blob/master/LICENSE)。


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "nonebot-plugin-github-release-notifier",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<=3.13,>=3.10",
    "maintainer_email": null,
    "keywords": "nonebot, github, qqbot, reminder",
    "author": null,
    "author_email": "HTony03 <HTony03@foxmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/e6/80/b31c0df5b3b2cc1eed81e4d593121899b36606f1e0c417fe1231319e9cf6/nonebot_plugin_github_release_notifier-0.1.10.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n    <a href=\"https://v2.nonebot.dev/store\">\n    <img src=\"https://raw.githubusercontent.com/fllesser/nonebot-plugin-template/refs/heads/resource/.docs/NoneBotPlugin.svg\" width=\"310\" alt=\"logo\"></a>\n\n  <em>\u2728 NoneBot GitHub Release Notifier \u2728</em>\n</div>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/HTony03/nonebot_plugin_github_release_notifier.svg\" alt=\"license\">\n  </a>\n  <a href=\"https://pypi.python.org/pypi/nonebot-plugin-github-release-notifier\">\n    <img src=\"https://img.shields.io/pypi/v/nonebot-plugin-github-release-notifier.svg\" alt=\"pypi\">\n  </a>\n  <img src=\"https://img.shields.io/badge/python-3.9+-blue.svg?style=social\" alt=\"python\">\n  <a href=\"https://wakatime.com/badge/github/HTony03/nonebot_plugin_github_release_notifier\">\n    <img src=\"https://wakatime.com/badge/github/HTony03/nonebot_plugin_github_release_notifier.svg?style=social\" alt=\"wakatime\">\n  </a>\n</p>\n\n\u672c\u63d2\u4ef6\u7528\u4e8e\u76d1\u63a7 GitHub \u4ed3\u5e93\u53d1\u5e03\u5e76\u53d1\u9001\u901a\u77e5\u3002\n\n\u5176\u4ed6\u8bed\u8a00 | Other languages: [English](/README_en.md)\n\n## \ud83d\udcd6 \u4ecb\u7ecd\n\n\u672c\u63d2\u4ef6\u53ef\u4ee5\u76d1\u63a7\u591a\u4e2a GitHub \u4ed3\u5e93\uff0c\u901a\u8fc7 QQ Bot \u901a\u77e5\u7528\u6237\u65b0\u52a8\u6001\uff0c\u5e76\u652f\u6301\u81ea\u5b9a\u4e49\u901a\u77e5\u683c\u5f0f\u3002\n\n## \ud83d\udcbf \u5b89\u88c5\n\n<details open>\n<summary>\u4f7f\u7528 nb-cli \u5b89\u88c5</summary>\n\u5728 nonebot2 \u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e0b\u6253\u5f00\u547d\u4ee4\u884c\uff0c\u8f93\u5165\u4ee5\u4e0b\u6307\u4ee4\u5373\u53ef\u5b89\u88c5\uff1a\n\n    nb plugin install nonebot-plugin-github-release-notifier\n\n</details>\n\n<details>\n<summary>\u4f7f\u7528\u5305\u7ba1\u7406\u5668\u5b89\u88c5</summary>\n\u5728 nonebot2 \u9879\u76ee\u7684\u63d2\u4ef6\u76ee\u5f55\u4e0b\uff0c\u6253\u5f00\u547d\u4ee4\u884c\uff0c\u6839\u636e\u4f60\u4f7f\u7528\u7684\u5305\u7ba1\u7406\u5668\uff0c\u8f93\u5165\u76f8\u5e94\u7684\u5b89\u88c5\u547d\u4ee4\uff1a\n\n<details>\n<summary>pip</summary>\n\n    pip install nonebot-plugin-github-release-notifier\n</details>\n\n\u6253\u5f00 nonebot2 \u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u7684 `pyproject.toml` \u6587\u4ef6\uff0c\u5728 `[tool.nonebot]` \u90e8\u5206\u8ffd\u52a0\u5199\u5165\uff1a\n\n    plugins = [\"nonebot-plugin-github-release-notifier\"]\n\n</details>\n\n## \u2699\ufe0f \u914d\u7f6e\n\n\u4f7f\u7528\u524d\u8bf7\u786e\u4fdd nonebot2 \u7684 SUPERUSERS \u914d\u7f6e\u9879\u5df2\u914d\u7f6e\u3002\n\n\u5728 nonebot2 \u9879\u76ee\u7684 `.env` \u6587\u4ef6\u4e2d\u6dfb\u52a0\u4e0b\u8868\u4e2d\u7684\u5fc5\u586b\u914d\u7f6e\uff1a\n\n| \u914d\u7f6e\u9879 | \u5fc5\u586b | \u9ed8\u8ba4\u503c | \u8bf4\u660e |\n|:-----:|:----:|:----:|:----:|\n| GITHUB_TOKEN | \u5426 | \u7a7a\u5b57\u7b26\u4e32 | \u7528\u4e8e\u8bbf\u95ee GitHub API \u7684 Token |\n| GITHUB_RETRIES | \u5426 | 3 | \u5237\u65b0\u6700\u5927\u91cd\u8bd5\u6b21\u6570 |\n| GITHUB_RETRY_DELAY | \u5426 | 5 | \u6bcf\u6b21\u5237\u65b0\u91cd\u8bd5\u4e4b\u95f4\u7684\u5ef6\u8fdf\uff08\u79d2\uff09 |\n| GITHUB_DISABLE_WHEN_FAIL | \u5426 | False | \u5728\u83b7\u53d6\u4ed3\u5e93\u6570\u636e\u5931\u8d25\u65f6\u7981\u7528\u914d\u7f6e |\n| GITHUB_LANGUAGE | \u5426 | \"en_us\" | \u53d1\u9001\u7684\u6a21\u677f\u8bed\u8a00 |\n| GITHUB_SEND_FALIURE_GROUP | \u5426 | True | \u5931\u8d25\u65f6\u662f\u5426\u901a\u77e5\u7fa4\u804a |\n| GITHUB_SEND_FALIURE_SUPERUSER | \u5426 | False | \u5931\u8d25\u65f6\u662f\u5426\u901a\u77e5\u8d85\u7ea7\u7528\u6237 |\n| GITHUB_DEFAULT_CONFIG_SETTING | \u5426 | True | \u6dfb\u52a0\u4ed3\u5e93\u65f6\u9ed8\u8ba4\u76d1\u63a7\u6240\u6709\u4e8b\u4ef6 |\n| GITHUB_SEND_IN_MARKDOWN | \u5426 | False | \u662f\u5426\u4ee5 Markdown \u56fe\u7247\u65b9\u5f0f\u53d1\u9001\u6d88\u606f |\n| GITHUB_SEND_DETAIL_IN_MARKDOWN | \u5426 | True | \u662f\u5426\u4ee5 Markdown \u56fe\u7247\u65b9\u5f0f\u53d1\u9001\u8be6\u7ec6\u4fe1\u606f\uff08pr/issue/release\uff09|\n| GITHUB_UPLOAD_REMOVE_OLDER_VER | \u5426 | True | \u4e0a\u4f20 release \u6587\u4ef6\u65f6\u662f\u5426\u79fb\u9664\u65e7\u7248\u672c( in development) |\n| GITHUB_THEME | \u5426 | \"dark\" | \uff08\u9488\u5bf9issue/pull request comment\uff09\u6e32\u67d3\u9875\u9762\u98ce\u683c [\"light\",\"dark\"] | \n\n`v0.1.9` \u5220\u9664\u4e86\u5bf9\u4e8e`.env`\u6dfb\u52a0\u7fa4\u7ec4repo\u7684\u9002\u914d, \u8bf7\u4f7f\u7528\u6307\u4ee4\u4f7f\u7528\u76f8\u5173\u529f\u80fd\n\n`v0.1.10` \u5220\u9664\u4e86\u4f7f\u7528\u81ea\u5b9a\u4e49\u6a21\u677f\u8f93\u51fa\u683c\u5f0f\uff0c\u8bf7\u4f7f\u7528`github_language`\u914d\u7f6e\u76f8\u5173\u6a21\u677f\n\n\n## \ud83c\udf89 \u4f7f\u7528\n\n### \u6307\u4ee4\u8868\n\n\u672c\u63d2\u4ef6\u6240\u6709**\u975e\u4ec5\u7ba1\u7406\u5458\u6216SUPERUSEES**\u6307\u4ee4\u5747\u8bbe\u670915s Cooldown\n\n\u79c1\u804a\u4f7f\u7528command\u8bf7\u5c06\u914d\u7f6e\u7fa4\u53f7\u653e\u5728\u6307\u4ee4\u6700\u540e\uff0c\u5982`/repo.add <user>/<repo> <group_id>`\n\n| \u6307\u4ee4 | \u6743\u9650 | \u9700\u8981@ | \u8303\u56f4 | \u8bf4\u660e |\n|:-----:|:----:|:----:|:----:|:----:|\n| /add_group_repo \u6216 /repo.add | SUPERUSERS \u6216\u7ba1\u7406\u5458 | \u5426 | \u79c1\u804a&\u7fa4\u804a | \u6dfb\u52a0\u7fa4\u7ec4\u4ed3\u5e93\u6620\u5c04 |\n| /del_group_repo \u6216 /repo.delete \u6216 /repo.del | SUPERUSERS \u6216\u7ba1\u7406\u5458 | \u5426 | \u79c1\u804a&\u7fa4\u804a | \u5220\u9664\u7fa4\u7ec4\u4ed3\u5e93\u6620\u5c04 |\n| /change_group_repo_cfg \u6216 /repo.config \u6216 /repo.cfg | SUPERUSERS \u6216\u7ba1\u7406\u5458 | \u5426 | \u79c1\u804a&\u7fa4\u804a | \u4fee\u6539\u4ed3\u5e93\u914d\u7f6e\uff08\u652f\u6301\u5e03\u5c14\u578b\u548c\u5b57\u7b26\u4e32\u578b\u914d\u7f6e\uff0c\u8be6\u89c1\u4e0b\u65b9\u8bf4\u660e\uff09 |\n| /show_group_repo \u6216 /repo.show | SUPERUSERS \u6216\u7ba1\u7406\u5458 | \u5426 | \u79c1\u804a&\u7fa4\u804a | \u67e5\u770b\u7fa4\u7ec4\u4ed3\u5e93\u6620\u5c04 |\n| /refresh_group_repo \u6216 /repo.refresh | SUPERUSERS \u6216\u7ba1\u7406\u5458 | \u5426 | \u79c1\u804a&\u7fa4\u804a | \u5237\u65b0 GitHub \u72b6\u6001 |\n| /repo_info \u6216 /repo.info | \u6240\u6709\u4eba | \u5426 | \u79c1\u804a&\u7fa4\u804a | \u67e5\u770b\u4ed3\u5e93\u8be6\u7ec6\u4fe1\u606f |\n| /check_api_usage | \u6240\u6709\u4eba | \u5426 | \u79c1\u804a&\u7fa4\u804a | \u67e5\u770b GitHub API \u4f7f\u7528\u60c5\u51b5 |\n\n\n### TODOS\n\n- [x] \u81ea\u5b9a\u4e49\u53d1\u9001\u4fe1\u606f\u683c\u5f0f\n- [ ] \u6dfb\u52a0help\n- [ ] \u6570\u636e\u5e93\u7ed3\u6784\u91cd\u7f6e\n- [x] markdown \u4fe1\u606f\u652f\u6301\n- [x] markdown \u8f6c\u56fe\u7247\u5c55\u793a\n- [ ] issue/pr \u8be6\u7ec6\u4fe1\u606f\u652f\u6301\n- [x] \u8f6c\u53d1issue/pr comments\n- [x] \u6e32\u67d3gh\u9875\u9762\u5c55\u793apr/issue\n\n## LICENCE\n\n\u672c\u63d2\u4ef6\u6309\u7167MIT\u534f\u8bae\u4f20\u64ad\uff0c\u76f8\u5173LICENCE\u89c1[\u6b64\u5904](./LICENSE)\n\n## Releases\n\n`v0.1.10` \u6dfb\u52a0issue comment\u8f6c\u53d1\u652f\u6301\uff0c\u4f7f\u7528[`cscs181/QQ-GitHub-Bot`](https://github.com/cscs181/QQ-GitHub-Bot)\u6e32\u67d3\u65b0\u9875\u9762\n\n`v0.1.9` \u5220\u9664\u4e86\u5bf9\u4e8e`.env`\u6dfb\u52a0\u7fa4\u7ec4repo, \u8bf7\u4f7f\u7528\u6307\u4ee4\u4f7f\u7528\u76f8\u5173\u529f\u80fd\n\n`v0.1.8` \u5df2\u77e5\u95ee\u9898\u4fee\u590d\uff0creadme\u66f4\u65b0\n\n`v0.1.3`-`v0.1.7` bug\u4fee\u590d\uff0c\u53d1\u5e03\u81f3nonebot\n\n`V0.1.2` \u4fee\u6539\u53d1\u5e03\u4fe1\u606f\n\n`V0.1.0`-`V0.1.1` \u4e3b\u7a0b\u5e8f\u5b8c\u6210\uff0c\u529f\u80fd\u9002\u914d\uff0c \u51c6\u5907\u53d1\u5e03\n</br>\n</br>\n</br>\n#### \u514d\u8d23\u7533\u660e\uff08\u53e0\u7532\uff08bushi\uff09\uff09\n\u63d2\u4ef6**\u90e8\u5206**\u4ee3\u7801\u6765\u81ea/\u542f\u53d1\u81ea [`cscs181/QQ-GitHub-Bot`](https://github.com/cscs181/QQ-GitHub-Bot)\uff0c\u4ee5MIT\u534f\u8bae\u4f20\u64ad\uff0c\u8be6\u7ec6\u53ef\u89c1 [\u6b64\u5904](https://github.com/cscs181/QQ-GitHub-Bot/blob/master/LICENSE)\u3002\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A plugin for nonebot & onebot to notify group members of new commits, issues, and PRs in GitHub repos.",
    "version": "0.1.10",
    "project_urls": {
        "changelog": "https://github.com/HTony03/nonebot_plugin_github_release_notifier/releases",
        "homepage": "https://github.com/HTony03/nonebot_plugin_github_release_notifier",
        "issue": "https://github.com/HTony03/nonebot_plugin_github_release_notifier/issues",
        "repository": "https://github.com/HTony03/nonebot_plugin_github_release_notifier"
    },
    "split_keywords": [
        "nonebot",
        " github",
        " qqbot",
        " reminder"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1f95dfe4dfd608e77b98d821abb6017c94ff0cb2aa84b423c897c0a218be315c",
                "md5": "fe68ef6c1ed5753535ad837b1362d20f",
                "sha256": "726924d350432795487ccea9b0b8255e8536a6967e4e669eb56ab7ccbecf2f4d"
            },
            "downloads": -1,
            "filename": "nonebot_plugin_github_release_notifier-0.1.10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fe68ef6c1ed5753535ad837b1362d20f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<=3.13,>=3.10",
            "size": 131365,
            "upload_time": "2025-08-13T11:25:18",
            "upload_time_iso_8601": "2025-08-13T11:25:18.170002Z",
            "url": "https://files.pythonhosted.org/packages/1f/95/dfe4dfd608e77b98d821abb6017c94ff0cb2aa84b423c897c0a218be315c/nonebot_plugin_github_release_notifier-0.1.10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e680b31c0df5b3b2cc1eed81e4d593121899b36606f1e0c417fe1231319e9cf6",
                "md5": "163bf0da9020fcdd1a70e12409fefa4a",
                "sha256": "ed849be8cddb579624bee8e6e28426ede32e6124abdb79afd4ab5b330b569b70"
            },
            "downloads": -1,
            "filename": "nonebot_plugin_github_release_notifier-0.1.10.tar.gz",
            "has_sig": false,
            "md5_digest": "163bf0da9020fcdd1a70e12409fefa4a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<=3.13,>=3.10",
            "size": 62323,
            "upload_time": "2025-08-13T11:25:19",
            "upload_time_iso_8601": "2025-08-13T11:25:19.605554Z",
            "url": "https://files.pythonhosted.org/packages/e6/80/b31c0df5b3b2cc1eed81e4d593121899b36606f1e0c417fe1231319e9cf6/nonebot_plugin_github_release_notifier-0.1.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-13 11:25:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "HTony03",
    "github_project": "nonebot_plugin_github_release_notifier",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "nonebot-plugin-github-release-notifier"
}
        
Elapsed time: 1.58254s