日麻寄分器(NoneBot插件)
Project description
<!-- markdownlint-disable MD033 MD036 MD041 -->
<p align="center">
<a href="https://v2.nonebot.dev/"><img src="https://v2.nonebot.dev/logo.png" width="200" height="200" alt="nonebot"></a>
</p>
<div align="center">
nonebot-plugin-mahjong-scoreboard
============
_✨ NoneBot 日麻记分器插件 ✨_
</div>
<p align="center">
<a href="https://raw.githubusercontent.com/ssttkkl/nonebot-plugin-mahjong-scoreboard/master/LICENSE">
<img src="https://img.shields.io/github/license/ssttkkl/nonebot-plugin-mahjong-scoreboard.svg" alt="license">
</a>
<a href="https://pypi.python.org/pypi/nonebot-plugin-mahjong-scoreboard">
<img src="https://img.shields.io/pypi/v/nonebot-plugin-mahjong-scoreboard.svg" alt="pypi">
</a>
<img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="python">
</p>
支持适配器:[OneBot V11](https://onebot.adapters.nonebot.dev/)~~、[QQ Guild](https://github.com/nonebot/adapter-qqguild)~~
## 功能
为群友提供日麻对局分数记录。根据马点进行PT精算,统计PT增减,支持对局与榜单查询与导出。
PT精算算法为(点数-返点+马点)/1000,返点和马点在创建赛季时进行设置。
## 常用Workflow
### 开启赛季
```
/新建赛季
```
### 记录半庄对局
```
任何人:/新建对局
A: /结算 25000
B: /结算 25000
C: /结算 25000
D: /结算 25000
```
### 记录东场对局
```
任何人:/新建对局 四人东
A: /结算 25000
B: /结算 25000
C: /结算 25000
D: /结算 25000
```
### 记录未完成对局
```
任何人:/新建对局
任何人:/设置对局进度 东一局0本场
A: /结算 25000 东
B: /结算 25000 南
C: /结算 25000 西
D: /结算 25000 北
```
### 将未完成对局设置为已完成
```
任何人:/设置对局进度 对局23050701 完成
```
### 删除对局
用户无需手动删除错误创建的对局。当对局新建超过24h仍未成功结算时,对局会自动删除。
删除已结算的对局需要管理员权限。
```
/删除对局 对局23050701
```
### 结算后为对局手动设置PT(当自动计算的PT不正确时,或者需要进行处罚时)
```
需要设置PT的人:/设置对局PT -52
或
任何人:/设置对局PT @需要设置PT的人 -52
```
## 指令
### 对局
- `/新建对局 [四人南|四人东]`
- 别名:`/新对局`
- `/结算对局 <成绩> [对局<编号>] [@<用户>] [<自风>]`
- 别名:`/结算`
- `/撤销结算对局 [对局<编号>] [@<用户>]`
- 别名:`/撤销结算`
- `/设置对局PT <PT> [对局<编号>] [@<用户>]`
- 别名:`/对局PT`
- `/删除对局 [对局<编号>]`
- `/设置对局进度 <东/南x局y本场 或 完成> [对局<编号>]`
- 别名:`/对局进度`
- `/设置对局备注 [对局<编号>] <对局备注>`
- 别名:`/对局备注`
与对局相关的指令可以省略对局编号,省略时默认对最近新建的对局进行操作。
对局相关指令在对局完成超过24小时后需要拥有群主或管理员身份才能使用。(`/删除对局`除外,该指令需要拥有群主或管理员身份才能使用)
未完成且未设置进度的对局会在创建24小时后自动删除。赛季结束后,未完成对局会自动删除,所有已完成对局均无法再进行修改。
### 对局查询
- `/查询对局 [<编号>]`
- 别名:`/对局`
- `/个人最近对局 [@<用户>]`
- 别名:`/最近对局`
- `/群最近对局`
- `/个人未完成对局 [@<用户>]`
- 别名:`/未完成对局`
- `/群未完成对局`
- `/导出赛季对局 [<代号>]`
- 别名:`/导出对局`
- `/导出所有对局`
### 赛季
- `/查询赛季 [<代号>]`
- 别名:`/赛季`,`/当前赛季`
- `/查询所有赛季`
- 别名:`/所有赛季`
- `/新建赛季`
- 别名:`/新赛季`
- `/开启赛季 [<代号>]`
- `/结束赛季`
- `/删除赛季 [<代号>]`
### 赛季查询
- `/查询榜单`
- 别名:`/榜单`
- `/导出榜单`
- `/查询PT [@<用户>]`
- 别名:`/PT`
- `/设置用户PT <PT> @<用户>`
- 别名:`/设置用户pt`, `/设置PT`, `/设置pt`
- `/重置用户PT @<用户>`
- 别名:`/重置用户pt`, `/重置PT`, `/重置pt`
### 数据统计
- `/对战数据`
- `/赛季对战数据 [<赛季代号>]`
- `/最近走势 [@<用户>]`
- 别名:`/走势`
与赛季/赛季PT相关的指令均可通过私聊/群聊两种方式使用(QQ频道暂不支持私聊)。当未指定参数时进入问答模式,回复`/q`可退出问答模式。
与赛季/赛季PT相关的指令(查询、导出除外)需要拥有群主或管理员身份才能使用。
## 配置
### mahjong_scoreboard_database_conn_url
数据库连接URL,必须使用异步SQLAlchemy驱动器。
默认值:sqlite+aiosqlite:///mahjong_scoreboard.db
### mahjong_scoreboard_send_image
是否通过图片发送可能超长的消息。若为True,需要安装nonebot-plugin-mahjong-scoreboard[htmlrender]
默认值:False
### callback_host
回调HOST,若为非容器环境部署(go-cqhttp与nonebot均运行在同一环境)则保持默认值。若为Docker环境部署则设置为Docker容器名。用于上传文件时让go-cqhttp下载本机文件。
默认值:127.0.0.1
### callback_port
回调端口,保持默认值即可。
默认值:与PORT保持一致即可
## 在线乞讨
<details><summary>点击请我打两把maimai</summary>
![](https://github.com/ssttkkl/ssttkkl/blob/main/afdian-ssttkkl.jfif)
</details>
## LICENSE
> MIT License
>
> Copyright (c) 2022 ssttkkl
>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
> in the Software without restriction, including without limitation the rights
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> copies of the Software, and to permit persons to whom the Software is
> furnished to do so, subject to the following conditions:
>
> The above copyright notice and this permission notice shall be included in all
> copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> SOFTWARE.
>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for nonebot_plugin_mahjong_scoreboard-0.7.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63ee603f44d266af6847e0c02cbc4a85183eed5b89372dbc8ec6705b871e018b |
|
MD5 | d36c8dc6e292f9930a2d5d122d6b99c6 |
|
BLAKE2b-256 | d93a6cf2750e56391da74d0c341575f112bf88b57508e395758c7bfed5ca2073 |
Close
Hashes for nonebot_plugin_mahjong_scoreboard-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd7282fea78c0d45bdf08c6ffe200c6bb1b8cbbef846cfb2798f155322c470ce |
|
MD5 | dbcdcf46a4092fae9da62b5190eca5b3 |
|
BLAKE2b-256 | 2e0b511cc1c8726d525c3b43677930658f1938efd36b2642a254960b2da18d69 |