# nonebot-plugin-mai-arcade
_✨ NoneBot2 插件 用于为maimai玩家提供机厅人数上报、排卡功能支持 ✨_
<a href="./LICENSE">
</a>
<img src="https://img.shields.io/badge/python-3.8+-blue.svg" alt="python">
</div>
## 📖 介绍
nonebot-plugin-mai-arcade 是一个基于本地数据的多功能机厅排卡报数插件,旨在为群聊舞萌玩家提供汇报机厅人数及线上排卡支持。该插件能够实现机厅人数上报,机厅排卡,添加机厅地图、别名,机厅状态管理和实时更新机厅人数状态等功能。
### 实现功能
- [x] 上报机厅人数
- [x] 显示当日更新过人数的机厅信息
- [x] 显示最新上报用户名及上报时间
- [x] 添加机厅别名
- [x] 显示机厅别名
- [x] 添加机厅音游地图网址
- [x] 显示群聊机厅地图列表
- [x] 实现线上排卡功能
- [x] 指定机厅排卡
- [ ] 随个机厅出勤
- [ ] 平均等待时间
### 功能优势
- 查询机厅人数显示最新上报用户及上报时间, 保证人数信息的实时性。
- 使用 mai/机厅人数 指令能显示当日更新过人数的机厅列表(人数及上报用户、时间), 帮助群友选择出勤地点。
- 使用 机厅地图 指令可上传、查看相应机厅音游地图网址, 便于快速查看机厅信息。
## 💿 安装
<details open>
<summary>直接下载</summary>
下载文件,将nonebot_plugin_mai_arcade文件夹放入您的nonebot2插件目录内(通常位于 : 您的插件根目录\src\plugins)
</details>
<details>
<summary>使用 nb-cli 安装</summary>
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-mai-arcade
</details>
<details open>
<summary>使用包管理器安装</summary>
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令
<details open>
<summary>pip</summary>
pip install nonebot-plugin-mai-arcade
</details>
打开 nonebot2 项目根目录下的 `pyproject.toml` 文件, 在 `[tool.nonebot]` 部分追加写入
plugins = ["nonebot_plugin_mai_arcade"]
</details>
## 🎉 使用
使用 `机厅帮助/arcade help` 指令获取指令表
### 指令表
| 人数指令 | 权限 | 需要@ | 范围 | 说明 |
|:-----:|:----:|:----:|:----:|:----:|
| <机厅名>++/-- | 群员 | 否 | 群聊 | 机厅的人数+1/-1 |
| <机厅名>+num/-num | 群员 | 否 | 群聊 | +num/-num |
| <机厅名>=num/<机厅名>num| 群员 | 否 | 群聊 | 机厅的人数重置为num |
| <机厅名>几/几人/j | 群员 | 否 | 群聊 | 展示机厅当前的人数信息 |
| mai/机厅人数 | 群员 | 否 | 群聊 | 展示当日已更新的所有机厅的人数列表 |
| 机厅指令 | 权限 | 需要@ | 范围 | 说明 |
|:-----:|:----:|:----:|:----:|:----:|
| 添加群聊 | 管理 | 否 | 群聊 | 将群聊添加到JSON数据中 |
| 删除群聊 | 管理 | 否 | 群聊 | 从JSON数据中删除指定的群聊 |
| 添加机厅 | 管理 | 否 | 群聊 | 将机厅添加到群聊 |
| 删除机厅 | 管理 | 否 | 群聊 | 从群聊中删除指定的机厅 |
| 机厅列表 | 群员 | 否 | 群聊 | 展示当前机厅列表 |
| 添加机厅别名 | 管理 | 否 | 群聊 | 为机厅添加别名 |
| 删除机厅别名 | 管理 | 否 | 群聊 | 移除机厅的别名 |
| 机厅别名 | 群员 | 否 | 群聊 | 展示机厅别名 |
| 添加机厅地图 | 管理 | 否 | 群聊 | 添加机厅地图信息(网址) |
| 删除机厅地图 | 管理 | 否 | 群聊 | 移除机厅地图信息 |
| 机厅地图 | 群员 | 否 | 群聊 | 展示机厅音游地图列表 |
| 排卡指令 | 权限 | 需要@ | 范围 | 说明 |
|:-----:|:----:|:----:|:----:|:----:|
| 排卡 | 群员 | 否 | 群聊 | 加入排队队列 |
| 上机 | 群员 | 否 | 群聊 | 将当前第一位排队的移至最后 |
| 退勤 | 群员 | 否 | 群聊 | 从排队队列中退出 |
| 排卡现状 | 群员 | 否 | 群聊 | 展示当前排队队列的情况 |
| 延后 | 群员 | 否 | 群聊 | 将自己延后一位 |
| 闭店 | 管理 | 否 | 群聊 | 清空排队队列 |
### 效果图
<details>
<summary>展开</summary>





</details>
## ✨ 特别感谢
- [Yzfoil/nonebot_plugin_maimai_go_down_system](https://github.com/Yzfoil/nonebot_plugin_maimai_go_down_system) 提供的灵感与代码支持
Raw data
{
"_id": null,
"home_page": "https://github.com/YuuzukiRin/nonebot_plugin_mai_arcade",
"name": "nonebot-plugin-mai-arcade",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "YuuzukiRin",
"author_email": "yuuzukirin@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/94/68/8631f5587343ee26cf8bfceac576bf8e3c96db2957a210448abc70718f45/nonebot_plugin_mai_arcade-0.1.5.7.4.tar.gz",
"platform": null,
"description": "# nonebot-plugin-mai-arcade\r\n\r\n_\u2728 NoneBot2 \u63d2\u4ef6 \u7528\u4e8e\u4e3amaimai\u73a9\u5bb6\u63d0\u4f9b\u673a\u5385\u4eba\u6570\u4e0a\u62a5\u3001\u6392\u5361\u529f\u80fd\u652f\u6301 \u2728_\r\n\r\n<a href=\"./LICENSE\">\r\n</a>\r\n<img src=\"https://img.shields.io/badge/python-3.8+-blue.svg\" alt=\"python\">\r\n</div>\r\n\r\n## \ud83d\udcd6 \u4ecb\u7ecd\r\n\r\nnonebot-plugin-mai-arcade \u662f\u4e00\u4e2a\u57fa\u4e8e\u672c\u5730\u6570\u636e\u7684\u591a\u529f\u80fd\u673a\u5385\u6392\u5361\u62a5\u6570\u63d2\u4ef6\uff0c\u65e8\u5728\u4e3a\u7fa4\u804a\u821e\u840c\u73a9\u5bb6\u63d0\u4f9b\u6c47\u62a5\u673a\u5385\u4eba\u6570\u53ca\u7ebf\u4e0a\u6392\u5361\u652f\u6301\u3002\u8be5\u63d2\u4ef6\u80fd\u591f\u5b9e\u73b0\u673a\u5385\u4eba\u6570\u4e0a\u62a5\uff0c\u673a\u5385\u6392\u5361\uff0c\u6dfb\u52a0\u673a\u5385\u5730\u56fe\u3001\u522b\u540d\uff0c\u673a\u5385\u72b6\u6001\u7ba1\u7406\u548c\u5b9e\u65f6\u66f4\u65b0\u673a\u5385\u4eba\u6570\u72b6\u6001\u7b49\u529f\u80fd\u3002\r\n### \u5b9e\u73b0\u529f\u80fd\r\n\r\n- [x] \u4e0a\u62a5\u673a\u5385\u4eba\u6570\r\n- [x] \u663e\u793a\u5f53\u65e5\u66f4\u65b0\u8fc7\u4eba\u6570\u7684\u673a\u5385\u4fe1\u606f\r\n- [x] \u663e\u793a\u6700\u65b0\u4e0a\u62a5\u7528\u6237\u540d\u53ca\u4e0a\u62a5\u65f6\u95f4\r\n- [x] \u6dfb\u52a0\u673a\u5385\u522b\u540d\r\n- [x] \u663e\u793a\u673a\u5385\u522b\u540d\r\n- [x] \u6dfb\u52a0\u673a\u5385\u97f3\u6e38\u5730\u56fe\u7f51\u5740\r\n- [x] \u663e\u793a\u7fa4\u804a\u673a\u5385\u5730\u56fe\u5217\u8868\r\n- [x] \u5b9e\u73b0\u7ebf\u4e0a\u6392\u5361\u529f\u80fd\r\n- [x] \u6307\u5b9a\u673a\u5385\u6392\u5361\r\n- [ ] \u968f\u4e2a\u673a\u5385\u51fa\u52e4\r\n- [ ] \u5e73\u5747\u7b49\u5f85\u65f6\u95f4\r\n### \u529f\u80fd\u4f18\u52bf\r\n\r\n- \u67e5\u8be2\u673a\u5385\u4eba\u6570\u663e\u793a\u6700\u65b0\u4e0a\u62a5\u7528\u6237\u53ca\u4e0a\u62a5\u65f6\u95f4, \u4fdd\u8bc1\u4eba\u6570\u4fe1\u606f\u7684\u5b9e\u65f6\u6027\u3002\r\n- \u4f7f\u7528 mai/\u673a\u5385\u4eba\u6570 \u6307\u4ee4\u80fd\u663e\u793a\u5f53\u65e5\u66f4\u65b0\u8fc7\u4eba\u6570\u7684\u673a\u5385\u5217\u8868(\u4eba\u6570\u53ca\u4e0a\u62a5\u7528\u6237\u3001\u65f6\u95f4), \u5e2e\u52a9\u7fa4\u53cb\u9009\u62e9\u51fa\u52e4\u5730\u70b9\u3002\r\n- \u4f7f\u7528 \u673a\u5385\u5730\u56fe \u6307\u4ee4\u53ef\u4e0a\u4f20\u3001\u67e5\u770b\u76f8\u5e94\u673a\u5385\u97f3\u6e38\u5730\u56fe\u7f51\u5740, \u4fbf\u4e8e\u5feb\u901f\u67e5\u770b\u673a\u5385\u4fe1\u606f\u3002\r\n## \ud83d\udcbf \u5b89\u88c5\r\n\r\n<details open>\r\n<summary>\u76f4\u63a5\u4e0b\u8f7d</summary> \r\n\u4e0b\u8f7d\u6587\u4ef6\uff0c\u5c06nonebot_plugin_mai_arcade\u6587\u4ef6\u5939\u653e\u5165\u60a8\u7684nonebot2\u63d2\u4ef6\u76ee\u5f55\u5185(\u901a\u5e38\u4f4d\u4e8e : \u60a8\u7684\u63d2\u4ef6\u6839\u76ee\u5f55\\src\\plugins)\r\n</details>\r\n\r\n<details>\r\n<summary>\u4f7f\u7528 nb-cli \u5b89\u88c5</summary> \r\n\u5728 nonebot2 \u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e0b\u6253\u5f00\u547d\u4ee4\u884c, \u8f93\u5165\u4ee5\u4e0b\u6307\u4ee4\u5373\u53ef\u5b89\u88c5\r\n\r\n nb plugin install nonebot-plugin-mai-arcade\r\n\r\n</details>\r\n\r\n<details open>\r\n<summary>\u4f7f\u7528\u5305\u7ba1\u7406\u5668\u5b89\u88c5</summary> \r\n\u5728 nonebot2 \u9879\u76ee\u7684\u63d2\u4ef6\u76ee\u5f55\u4e0b, \u6253\u5f00\u547d\u4ee4\u884c, \u6839\u636e\u4f60\u4f7f\u7528\u7684\u5305\u7ba1\u7406\u5668, \u8f93\u5165\u76f8\u5e94\u7684\u5b89\u88c5\u547d\u4ee4\r\n\r\n<details open>\r\n<summary>pip</summary> \r\n\r\n pip install nonebot-plugin-mai-arcade\r\n\r\n</details>\r\n\r\n\u6253\u5f00 nonebot2 \u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u7684 `pyproject.toml` \u6587\u4ef6, \u5728 `[tool.nonebot]` \u90e8\u5206\u8ffd\u52a0\u5199\u5165\r\n\r\n plugins = [\"nonebot_plugin_mai_arcade\"]\r\n\r\n</details>\r\n\r\n## \ud83c\udf89 \u4f7f\u7528\r\n\u4f7f\u7528 `\u673a\u5385\u5e2e\u52a9/arcade help` \u6307\u4ee4\u83b7\u53d6\u6307\u4ee4\u8868\r\n### \u6307\u4ee4\u8868\r\n| \u4eba\u6570\u6307\u4ee4 | \u6743\u9650 | \u9700\u8981@ | \u8303\u56f4 | \u8bf4\u660e |\r\n|:-----:|:----:|:----:|:----:|:----:|\r\n| <\u673a\u5385\u540d>++/-- | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u673a\u5385\u7684\u4eba\u6570+1/-1 |\r\n| <\u673a\u5385\u540d>+num/-num | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | +num/-num |\r\n| <\u673a\u5385\u540d>=num/<\u673a\u5385\u540d>num| \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u673a\u5385\u7684\u4eba\u6570\u91cd\u7f6e\u4e3anum |\r\n| <\u673a\u5385\u540d>\u51e0/\u51e0\u4eba/j | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u5c55\u793a\u673a\u5385\u5f53\u524d\u7684\u4eba\u6570\u4fe1\u606f |\r\n| mai/\u673a\u5385\u4eba\u6570 | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u5c55\u793a\u5f53\u65e5\u5df2\u66f4\u65b0\u7684\u6240\u6709\u673a\u5385\u7684\u4eba\u6570\u5217\u8868 |\r\n\r\n| \u673a\u5385\u6307\u4ee4 | \u6743\u9650 | \u9700\u8981@ | \u8303\u56f4 | \u8bf4\u660e |\r\n|:-----:|:----:|:----:|:----:|:----:|\r\n| \u6dfb\u52a0\u7fa4\u804a | \u7ba1\u7406 | \u5426 | \u7fa4\u804a | \u5c06\u7fa4\u804a\u6dfb\u52a0\u5230JSON\u6570\u636e\u4e2d |\r\n| \u5220\u9664\u7fa4\u804a | \u7ba1\u7406 | \u5426 | \u7fa4\u804a | \u4eceJSON\u6570\u636e\u4e2d\u5220\u9664\u6307\u5b9a\u7684\u7fa4\u804a |\r\n| \u6dfb\u52a0\u673a\u5385 | \u7ba1\u7406 | \u5426 | \u7fa4\u804a | \u5c06\u673a\u5385\u6dfb\u52a0\u5230\u7fa4\u804a |\r\n| \u5220\u9664\u673a\u5385 | \u7ba1\u7406 | \u5426 | \u7fa4\u804a | \u4ece\u7fa4\u804a\u4e2d\u5220\u9664\u6307\u5b9a\u7684\u673a\u5385 |\r\n| \u673a\u5385\u5217\u8868 | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u5c55\u793a\u5f53\u524d\u673a\u5385\u5217\u8868 |\r\n| \u6dfb\u52a0\u673a\u5385\u522b\u540d | \u7ba1\u7406 | \u5426 | \u7fa4\u804a | \u4e3a\u673a\u5385\u6dfb\u52a0\u522b\u540d |\r\n| \u5220\u9664\u673a\u5385\u522b\u540d | \u7ba1\u7406 | \u5426 | \u7fa4\u804a | \u79fb\u9664\u673a\u5385\u7684\u522b\u540d |\r\n| \u673a\u5385\u522b\u540d | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u5c55\u793a\u673a\u5385\u522b\u540d |\r\n| \u6dfb\u52a0\u673a\u5385\u5730\u56fe | \u7ba1\u7406 | \u5426 | \u7fa4\u804a | \u6dfb\u52a0\u673a\u5385\u5730\u56fe\u4fe1\u606f(\u7f51\u5740) |\r\n| \u5220\u9664\u673a\u5385\u5730\u56fe | \u7ba1\u7406 | \u5426 | \u7fa4\u804a | \u79fb\u9664\u673a\u5385\u5730\u56fe\u4fe1\u606f |\r\n| \u673a\u5385\u5730\u56fe | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u5c55\u793a\u673a\u5385\u97f3\u6e38\u5730\u56fe\u5217\u8868 |\r\n\r\n| \u6392\u5361\u6307\u4ee4 | \u6743\u9650 | \u9700\u8981@ | \u8303\u56f4 | \u8bf4\u660e |\r\n|:-----:|:----:|:----:|:----:|:----:|\r\n| \u6392\u5361 | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u52a0\u5165\u6392\u961f\u961f\u5217 |\r\n| \u4e0a\u673a | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u5c06\u5f53\u524d\u7b2c\u4e00\u4f4d\u6392\u961f\u7684\u79fb\u81f3\u6700\u540e |\r\n| \u9000\u52e4 | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u4ece\u6392\u961f\u961f\u5217\u4e2d\u9000\u51fa |\r\n| \u6392\u5361\u73b0\u72b6 | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u5c55\u793a\u5f53\u524d\u6392\u961f\u961f\u5217\u7684\u60c5\u51b5 |\r\n| \u5ef6\u540e | \u7fa4\u5458 | \u5426 | \u7fa4\u804a | \u5c06\u81ea\u5df1\u5ef6\u540e\u4e00\u4f4d |\r\n| \u95ed\u5e97 | \u7ba1\u7406 | \u5426 | \u7fa4\u804a | \u6e05\u7a7a\u6392\u961f\u961f\u5217 |\r\n\r\n### \u6548\u679c\u56fe\r\n\r\n<details>\r\n<summary>\u5c55\u5f00</summary>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n</details>\r\n\r\n## \u2728 \u7279\u522b\u611f\u8c22\r\n- [Yzfoil/nonebot_plugin_maimai_go_down_system](https://github.com/Yzfoil/nonebot_plugin_maimai_go_down_system) \u63d0\u4f9b\u7684\u7075\u611f\u4e0e\u4ee3\u7801\u652f\u6301\r\n",
"bugtrack_url": null,
"license": null,
"summary": "maimai arcade nonebot2 plugin",
"version": "0.1.5.7.4",
"project_urls": {
"Homepage": "https://github.com/YuuzukiRin/nonebot_plugin_mai_arcade"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f5b4eb1447f3f544e4d0f4e7eb3833ee1a0911f5123127fbd1df65d675f4984d",
"md5": "1984002ea3ed19619c785edc996b28e1",
"sha256": "43eacd9ce1d4db99ce7bdab2a759f279f8728ffcb045dfb1bcd88363bc75d50f"
},
"downloads": -1,
"filename": "nonebot_plugin_mai_arcade-0.1.5.7.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1984002ea3ed19619c785edc996b28e1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 10019,
"upload_time": "2024-10-22T12:09:16",
"upload_time_iso_8601": "2024-10-22T12:09:16.988084Z",
"url": "https://files.pythonhosted.org/packages/f5/b4/eb1447f3f544e4d0f4e7eb3833ee1a0911f5123127fbd1df65d675f4984d/nonebot_plugin_mai_arcade-0.1.5.7.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "94688631f5587343ee26cf8bfceac576bf8e3c96db2957a210448abc70718f45",
"md5": "3ce2c9d1d0cbf89ade0cde62c2fb4412",
"sha256": "ce424e6739f07a8c924a035c3c8b5501fed4e96da2ffdce62198265d20c7b1a2"
},
"downloads": -1,
"filename": "nonebot_plugin_mai_arcade-0.1.5.7.4.tar.gz",
"has_sig": false,
"md5_digest": "3ce2c9d1d0cbf89ade0cde62c2fb4412",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 11645,
"upload_time": "2024-10-22T12:09:18",
"upload_time_iso_8601": "2024-10-22T12:09:18.878884Z",
"url": "https://files.pythonhosted.org/packages/94/68/8631f5587343ee26cf8bfceac576bf8e3c96db2957a210448abc70718f45/nonebot_plugin_mai_arcade-0.1.5.7.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-22 12:09:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "YuuzukiRin",
"github_project": "nonebot_plugin_mai_arcade",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "nonebot-plugin-mai-arcade"
}