Merge branch 'HibiKier:main' into main

This commit is contained in:
fanyinrumeng 2024-12-03 17:22:29 +08:00 committed by GitHub
commit d522791000
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
452 changed files with 46034 additions and 5295 deletions

View File

@ -8,14 +8,23 @@ NICKNAME=["真寻", "小真寻", "绪山真寻", "小寻子"]
SESSION_EXPIRE_TIMEOUT=30 SESSION_EXPIRE_TIMEOUT=30
ALCONNA_USE_COMMAND_START=True
# 全局图片统一使用bytes发送当真寻与协议端不在同一服务器上时为True # 全局图片统一使用bytes发送当真寻与协议端不在同一服务器上时为True
IMAGE_TO_BYTES = False IMAGE_TO_BYTES = True
# 回复消息时自称 # 回复消息时自称
SELF_NICKNAME="小真寻" SELF_NICKNAME="小真寻"
# 官bot appid:bot账号
QBOT_ID_DATA = '{
}'
# 数据库配置 # 数据库配置
# 示例: "postgres://user:password@127.0.0.1:5432/database" # 示例: "postgres://user:password@127.0.0.1:5432/database"
# 示例: "mysql://user:password@127.0.0.1:3306/database"
# 示例: "sqlite:data/db/zhenxun.db" 在data目录下建立db文件夹
DB_URL = "" DB_URL = ""
# 系统代理 # 系统代理

85
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,85 @@
name: Bug 反馈
title: "Bug: 出现异常"
description: 提交 Bug 反馈以帮助我们改进代码
labels: ["bug"]
body:
- type: dropdown
id: env-os
attributes:
label: 操作系统
description: 选择运行 zhenxun_bot 的系统
options:
- Windows
- MacOS
- Linux
- Other
validations:
required: true
- type: input
id: env-python-ver
attributes:
label: Python 版本
description: 填写运行 zhenxun_bot 的 Python 版本
placeholder: e.g. 3.11.0
validations:
required: true
- type: input
id: env-zhenxun-ver
attributes:
label: zhenxun_bot 版本
description: 填写 zhenxun_bot 版本
placeholder: e.g. 0.1.0
validations:
required: true
- type: input
id: env-adapter
attributes:
label: 适配器
description: 填写使用的适配器以及版本
placeholder: e.g. OneBot v11 2.2.2
validations:
required: true
- type: input
id: env-protocol
attributes:
label: 协议端
description: 填写连接 zhenxun_bot 的协议端及版本
placeholder: e.g. NapCat V4.0.3
validations:
required: true
- type: textarea
id: describe
attributes:
label: 描述问题
description: 清晰简洁地说明问题是什么
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: 复现步骤
description: 提供能复现此问题的详细操作步骤
placeholder: |
1. 首先……
2. 然后……
3. 发生……
validations:
required: true
- type: textarea
id: expected
attributes:
label: 期望的结果
description: 清晰简洁地描述你期望发生的事情
- type: textarea
id: logs
attributes:
label: 截图或日志(请勿包含敏感信息如密码、令牌等)
description: 提供有助于诊断问题的任何日志和截图

1
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1 @@
blank_issues_enabled: false

18
.github/ISSUE_TEMPLATE/document.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: 文档改进
title: "Docs: 描述"
description: 文档错误及改进意见反馈
labels: ["documentation"]
body:
- type: textarea
id: problem
attributes:
label: 描述问题或主题
validations:
required: true
- type: textarea
id: improve
attributes:
label: 需做出的修改
validations:
required: true

View File

@ -0,0 +1,20 @@
name: 功能建议
title: "Feature: 功能描述"
description: 提出关于项目新功能的想法
labels: ["enhancement"]
body:
- type: textarea
id: problem
attributes:
label: 希望能解决的问题
description: 在使用中遇到什么问题而需要新的功能?
validations:
required: true
- type: textarea
id: feature
attributes:
label: 描述所需要的功能
description: 请说明需要的功能或解决方法
validations:
required: true

View File

@ -1,23 +0,0 @@
---
name: Issue template
about: " issue template's purpose here."
title: ''
labels: ''
assignees: ''
---
### 系统版本Ubuntu 20.04
### 真寻版本0.1.5.3
### 错误截图
[img]
### 日志截图
[img]
### 错误说明
发生了xx错误...

77
.github/release-drafter.yml vendored Normal file
View File

@ -0,0 +1,77 @@
template: $CHANGES
name-template: "v$RESOLVED_VERSION"
tag-template: "v$RESOLVED_VERSION"
exclude-labels:
- reverted
- no-changelog
- skip-changelog
- invalid
autolabeler:
- label: "bug"
title:
- "/:bug:.+/"
- "/🐛.+/"
- label: "enhancement"
title:
- "/:sparkles:.+/"
- "/✨.+/"
- label: "ci"
files:
- .github/**/*
- label: "breaking-change"
title:
- "/.+!:.+/"
- label: "documentation"
files:
- "*.md"
- label: "dependencies"
files:
- "pyproject.toml"
- "requirements.txt"
- "poetry.lock"
title:
- "/:wrench:.+/"
- "/🔧.+/"
- label: "resources"
files:
- resources/**/*
categories:
- title: 💥 破坏性变更
labels:
- breaking-change
- title: 🚀 新功能
labels:
- enhancement
- title: 🐛 Bug 修复
labels:
- bug
- title: 📝 文档更新
labels:
- documentation
- title: 👻 自动化程序
labels:
- chore
- internal
- maintenance
- title: 🚦 测试
labels:
- test
- tests
- title: 📦 依赖更新
labels:
- dependencies
collapse-after: 15
- title: 💫 杂项
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
version-resolver:
major:
labels:
- "major"
minor:
labels:
- "minor"
patch:
labels:
- "patch"
default: patch

View File

@ -1,9 +0,0 @@
### 系统版本Ubuntu 20.04
### 真寻版本0.1.5.3
### 错误截图
[img]
### 错误说明
发生了xx错误...

View File

@ -3,8 +3,16 @@ name: 检查bot是否运行正常
on: on:
push: push:
branches: ["dev", "main"] branches: ["dev", "main"]
paths:
- zhenxun/**
- tests/**
- bot.py
pull_request: pull_request:
branches: ["dev", "main"] branches: ["dev", "main"]
paths:
- zhenxun/**
- tests/**
- bot.py
jobs: jobs:
bot-check: bot-check:
@ -28,7 +36,14 @@ jobs:
uses: actions/cache@v3 uses: actions/cache@v3
with: with:
path: ~/.cache/pypoetry path: ~/.cache/pypoetry
key: poetry-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }} key: poetry-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }}-${{ hashFiles('pyproject.toml') }}
- name: Cache playwright cache
id: cache-playwright
uses: actions/cache@v3
with:
path: ~/.cache/ms-playwright
key: playwright-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }}
- name: Cache Data cache - name: Cache Data cache
uses: actions/cache@v3 uses: actions/cache@v3
@ -42,7 +57,9 @@ jobs:
rm -rf poetry.lock rm -rf poetry.lock
poetry source remove ali poetry source remove ali
poetry install --no-root poetry install --no-root
poetry run pip install pydantic==1.10
- name: Run tests
run: poetry run pytest --cov=zhenxun --cov-report xml
- name: Check bot run - name: Check bot run
id: bot_check_run id: bot_check_run

18
.github/workflows/release_draft.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Release Drafter
on:
push:
branches:
- main
- dev
pull_request:
types: [opened, reopened, synchronize]
jobs:
update_release_draft:
name: Update Release Draft
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v6
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}

73
.github/workflows/update_version_pr.yml vendored Normal file
View File

@ -0,0 +1,73 @@
name: Update Version
on:
push:
paths:
- .github/workflows/update_version_pr.yml
- zhenxun/**
- resources/**
- bot.py
branches:
- main
- dev
jobs:
update-version:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_TOKEN }}
- name: Read current version
id: read_version
run: |
version_line=$(grep '__version__' __version__)
version=$(echo $version_line | sed -E 's/__version__:\s*v([0-9]+\.[0-9]+\.[0-9]+)(-.+)?/\1/')
echo "Current version: $version"
echo "current_version=$version" >> $GITHUB_OUTPUT
- name: Check for version file changes
id: check_diff
run: |
if git diff --name-only HEAD~1 HEAD | grep -q '__version__'; then
echo "Version file has changes"
echo "version_changed=true" >> $GITHUB_OUTPUT
else
echo "Version file has no changes"
echo "version_changed=false" >> $GITHUB_OUTPUT
fi
- name: Get commit hash
id: get_commit_hash
run: echo "commit_hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Update version file
id: update_version
if: steps.check_diff.outputs.version_changed == 'false'
run: |
current_version="${{ steps.read_version.outputs.current_version }}"
commit_hash="${{ steps.get_commit_hash.outputs.commit_hash }}"
new_version="v${current_version}-${commit_hash}"
echo "new_version=$new_version" >> $GITHUB_OUTPUT
echo "Updating version to: $new_version"
echo "__version__: $new_version" > __version__
- name: Check updated version
if: steps.check_diff.outputs.version_changed == 'false'
run: cat __version__
- name: Create or update PR
if: steps.check_diff.outputs.version_changed == 'false'
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GH_TOKEN }}
branch: create-pr/update_version
title: ":tada: chore(version): 自动更新版本到 ${{ steps.update_version.outputs.new_version }}"
body: "This PR updates the version file."
commit-message: ":tada: chore(version): Update version to ${{ steps.update_version.outputs.new_version }}"
add-paths: __version__
author: "AkashiCoin <i@loli.vet>"
committer: "${{ github.actor }} <${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com>"
labels: automated-update

4
.gitignore vendored
View File

@ -174,11 +174,9 @@ data/
/resources/image/prts/ /resources/image/prts/
/configs/config.py /configs/config.py
configs/config.yaml configs/config.yaml
./.env
./.env.dev
plugins/csgo_server/ plugins/csgo_server/
plugins/activity/ plugins/activity/
!/resources/image/genshin/alc/back.png !/resources/image/genshin/alc/back.png
!/data/genshin_alc/ !/data/genshin_alc/
.vscode/launch.json .vscode/launch.json
/resources/template/my_info plugins_/

10
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,10 @@
{
"recommendations": [
"charliermarsh.ruff",
"esbenp.prettier-vscode",
"ms-python.black-formatter",
"ms-python.isort",
"ms-python.python",
"ms-python.vscode-pylance"
]
}

36
.vscode/settings.json vendored
View File

@ -13,17 +13,49 @@
"getbbox", "getbbox",
"hibiapi", "hibiapi",
"httpx", "httpx",
"jsdelivr",
"kaiheila", "kaiheila",
"lolicon", "lolicon",
"nonebot", "nonebot",
"onebot", "onebot",
"pixiv", "pixiv",
"qbot",
"Setu", "Setu",
"tobytes", "tobytes",
"ujson", "ujson",
"unban", "unban",
"userinfo", "userinfo",
"zhenxun" "zhenxun",
"jsdelivr"
], ],
"python.analysis.autoImportCompletions": true "python.analysis.autoImportCompletions": true,
"python.testing.pytestArgs": ["tests"],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff", // 使 Ruff
"editor.wordBasedSuggestions": "allDocuments",
"editor.formatOnType": true,
"editor.formatOnSave": true, //
"editor.codeActionsOnSave": {
"source.fixAll.ruff": "explicit",
"source.organizeImports": "explicit"
}
},
"ruff.format.preview": false,
"isort.check": true,
"ruff.importStrategy": "useBundled",
"ruff.organizeImports": false,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
} }

87
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,87 @@
# zhenxun_bot 贡献者公约
## 我们的承诺
身为社区成员、贡献者和负责人,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。
我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。
## 我们的准则
有助于为我们的社区创造积极环境的行为例子包括但不限于:
* 表现出对他人的同情和善意
* 尊重不同的主张、观点和感受
* 提出和大方接受建设性意见
* 承担责任并向受我们错误影响的人道歉
* 注重社区共同诉求,而非个人得失
不当行为例子包括:
* 使用情色化的语言或图像,及性引诱或挑逗
* 嘲弄、侮辱或诋毁性评论,以及人身或政治攻击
* 公开或私下的骚扰行为
* 未经他人明确许可,公布他人的私人信息,如物理或电子邮件地址
* 其他有理由认定为违反职业操守的不当行为
## 责任和权力
社区负责人有责任解释和落实我们所认可的行为准则,并妥善公正地对他们认为不当、威胁、冒犯或有害的任何行为采取纠正措施。
社区负责人有权力和责任删除、编辑或拒绝或拒绝与本行为准则不相符的评论comment、提交commits、代码、维基wiki编辑、议题issues或其他贡献并在适当时机知采取措施的理由。
## 适用范围
本行为准则适用于所有社区场合,也适用于在公共场所代表社区时的个人。
代表社区的情形包括使用官方电子邮件地址、通过官方社交媒体帐户发帖或在线上或线下活动中担任指定代表。
## 监督
辱骂、骚扰或其他不可接受的行为可通过 775757368@qq.com 向负责监督的社区负责人报告。
所有投诉都将得到及时和公平的审查和调查。
所有社区负责人都有义务尊重任何事件报告者的隐私和安全。
## 处理方针
社区负责人将遵循下列社区处理方针来明确他们所认定违反本行为准则的行为的处理方式:
### 1. 纠正
**社区影响**:使用不恰当的语言或其他在社区中被认定为不符合职业道德或不受欢迎的行为。
**处理意见**:由社区负责人发出非公开的书面警告,明确说明违规行为的性质,并解释举止如何不妥。或将要求公开道歉。
### 2. 警告
**社区影响**:单个或一系列违规行为。
**处理意见**:警告并对连续性行为进行处理。在指定时间内,不得与相关人员互动,包括主动与行为准则执行者互动。这包括避免在社区场所和外部渠道中的互动。违反这些条款可能会导致临时或永久封禁。
### 3. 临时封禁
**社区影响**: 严重违反社区准则,包括持续的不当行为。
**处理意见**: 在指定时间内,暂时禁止与社区进行任何形式的互动或公开交流。在此期间,不得与相关人员进行公开或私下互动,包括主动与行为准则执行者互动。违反这些条款可能会导致永久封禁。
### 4. 永久封禁
**社区影响**:行为模式表现出违反社区准则,包括持续的不当行为、骚扰个人或攻击或贬低某个类别的个体。
**处理意见**:永久禁止在社区内进行任何形式的公开互动。
## 参见
本行为准则改编自 [Contributor Covenant][homepage] 2.1 版, 参见 [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]。
社区处理方针灵感来源于 [Mozilla's code of conduct enforcement ladder][Mozilla CoC]。
有关本行为准则的常见问题的答案,参见 [https://www.contributor-covenant.org/faq][FAQ]。
其他语言翻译参见 [https://www.contributor-covenant.org/translations][translations]。
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

95
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,95 @@
# zhenxun_bot 贡献指南
首先,感谢你愿意为 zhenxun_bot 贡献自己的一份力量!
本指南旨在引导你更规范地向 zhenxun_bot 提交贡献,请务必认真阅读。
## 提交 Issue
在提交 Issue 前,我们建议你先查看 [已有的 Issues](https://github.com/HibiKier/zhenxun_bot/issues),以防重复提交。
### 报告问题、故障与漏洞
如果你在使用过程中发现问题并确信是由 zhenxun_bot 引起的,欢迎提交 Issue。
请使用我们提供的 **Bug 反馈** 模板,并尽可能详细地描述:
- 问题描述
- 重现步骤
- 你的环境信息(如操作系统、依赖版本等)
### 建议功能
如果你有新的功能需求或改进建议,欢迎提出。
请使用 **功能建议** 模板,并详细描述你所需要的特性,可能的话可以提出你认为可行的解决方案。
### 文档相关
如果你觉得文档有误或缺乏更新,欢迎提出。
请使用 **文档改进** 模板,并详细描述问题或主题,希望我们做出的修改
## Pull Request
### 分支管理
请从 `main` 分支创建新功能分支,例如:
- 新功能:`feature/功能描述`
- 问题修复:`bugfix/问题描述`
### 代码风格
zhenxun_bot 使用 `pre-commit` 进行代码格式化和检查,请在提交前确保代码通过检查。
```bash
# 在安装项目依赖后安装 pre-commit 钩子
pre-commit install
```
> 未通过 `pre-commit` 检查的代码将无法合并。
### Commit 规范
请确保你的每一个 commit 都能清晰地描述其意图,一个 commit 尽量只有一个目的。
我们建议遵循 [gitmoji](https://gitmoji.dev/) 的 commit message 格式,在创建 commit 时请牢记这一点。
### 工作流程概述
`main` 分支为 zhenxun_bot 的主分支,在任何情况下都请不要直接修改 `main` 分支,而是创建一个目标分支为 `main` 的 Pull Request 来提交修改。Pull Request 标题请尽量清晰,以便维护者进行审核。
如果你不是 zhenxun_bot 团队的成员,可在 fork 本仓库后,向本仓库的 `main` 分支发起 Pull Request注意遵循先前提到的 commit message 规范创建 commit。我们将在 code review 通过后合并你的贡献。
### 撰写文档
如果你对文档有改进建议,欢迎提交 Pull Request 或者 Issue。
[//]: # (我们使用 Markdown 编写文档,建议遵循以下规范:)
[//]: # ()
[//]: # (1. 中文与英文、数字、半角符号之间需要有空格。例:`zhenxun_bot 是一个高效的聊天机器人。`)
[//]: # (2. 若非英文整句,使用全角标点符号。例:`现在你可以看到机器人回复你“Hello世界”。`)
[//]: # (3. 直引号`「」`和弯引号`“”`都可接受,但同一份文件里应使用同种引号。)
[//]: # (4. **不要使用斜体**,你不需要一种与粗体不同的强调。)
[//]: # (5. 文档中应以“我们”指代开发者,以“用户”指代机器人的使用者。)
[//]: # ()
[//]: # (如果你需要编辑器检查 Markdown 规范,可以在 VSCode 中安装 `markdownlint` 扩展。)
### 参与开发
zhenxun_bot 的代码风格遵循 [PEP 8](https://www.python.org/dev/peps/pep-0008/) 与 [PEP 484](https://www.python.org/dev/peps/pep-0484/) 规范,请确保你的代码风格和项目已有的代码保持一致,变量命名清晰,有适当的注释与测试代码。
> 暂未搭建测试框架,因此暂不要求添加测试代码。
## 项目沟通
如有关于贡献流程的疑问或需要进一步指导,请通过 [QQ群](https://jq.qq.com/?_wv=1027&k=u8PgBkMZ) 联系我们。
再次感谢你的贡献!

243
README.md
View File

@ -28,7 +28,7 @@
<div align=center> <div align=center>
## 绪山真寻Bot ## 绪山真寻 Bot
</div> </div>
@ -39,11 +39,12 @@
:tada:喜欢真寻,于是真寻就来了!:tada: :tada:喜欢真寻,于是真寻就来了!:tada:
本项目符合 [OneBot](https://github.com/howmanybots/onebot) 标准,可基于以下项目与机器人框架/平台进行交互 本项目符合 [OneBot](https://github.com/howmanybots/onebot) 标准,可基于以下项目与机器人框架/平台进行交互
| 项目地址 | 平台 | 核心作者 | 备注 |
| :---: | :---: | :---: | :---: | | 项目地址 | 平台 | 核心作者 | 备注 |
| [LLOneBot](https://github.com/LLOneBot/LLOneBot) | NTQQ | linyuchen | 可用 | | :-----------------------------------------------------------: | :--: | :----------------------: | :--: |
| [Napcat](https://github.com/NapNeko/NapCatQQ) | NTQQ | NapNeko | 可用 | | [LLOneBot](https://github.com/LLOneBot/LLOneBot) | NTQQ | linyuchen | 可用 |
| [Lagrange.Core](https://github.com/LagrangeDev/Lagrange.Core) | | LagrangeDev/Linwenxuan04 | 可用 | [Napcat](https://github.com/NapNeko/NapCatQQ) | NTQQ | NapNeko | 可用 |
| [Lagrange.Core](https://github.com/LagrangeDev/Lagrange.Core) | NTQQ | LagrangeDev/Linwenxuan04 | 可用 |
</div> </div>
@ -57,8 +58,9 @@
<div align=center> <div align=center>
<img width="400" height="400" src="https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/help.png"/> <img width="350" height="350" src="https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/help.png"/>
<img width="250" height="500" src="https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/html_help.png"/> <img width="250" height="500" src="https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/html_help.png"/>
<img width="180" height="450" src="https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/zhenxun_help.png"/>
</div> </div>
@ -66,11 +68,11 @@
### 1. 体验一下? ### 1. 体验一下?
这是一个免费的版本为dev的zhenxun你可以通过napcat或拉格朗日等直接连接用于体验与测试 这是一个免费的,版本为 dev zhenxun你可以通过 [napcat](https://github.com/NapNeko/NapCatQQ) [拉格朗日](https://github.com/LagrangeDev/Lagrange.Core) 以及 [matcha](https://github.com/A-kirami/matcha) 等直接连接用于体验与测试
(球球了测试君!) (球球了测试君!)
``` ```
Url 43.143.112.57:11451/onebot/v11/ws Url: ws://test.zhenxun.org:8080/onebot/v11/ws
AccessToken: PUBLIC_ZHENXUN_TEST AccessToken: PUBLIC_ZHENXUN_TEST
注:你无法获得超级用户权限 注:你无法获得超级用户权限
@ -82,27 +84,25 @@ AccessToken: PUBLIC_ZHENXUN_TEST
“不要害怕,你的背后还有千千万万的 <strong>伙伴</strong> 啊!” “不要害怕,你的背后还有千千万万的 <strong>伙伴</strong> 啊!”
| 项目名称 | 主要用途 | 仓库作者 | 备注 | | 项目名称 | 主要用途 | 仓库作者 | 备注 |
| :-----------------------------------------------------------------------------------------------: | :------: | :-------------------------------------------: | :-------------------------------------------------------------: | | :--------------------------------------------------------------------: | :------: | :-------------------------------------------------: | :---------------------------: |
| [插件库](https://github.com/zhenxun-org/zhenxun_bot_plugins) | 插件 | [zhenxun-org](https://github.com/zhenxun-org) | 原plugins文件夹插件 | | [插件库](https://github.com/zhenxun-org/zhenxun_bot_plugins) | 插件 | [zhenxun-org](https://github.com/zhenxun-org) | 原 plugins 文件夹插件 |
| [插件索引库](https://github.com/zhenxun-org/zhenxun_bot_plugins_index) | 插件 | [zhenxun-org](https://github.com/zhenxun-org) | 扩展插件索引库 | | [插件索引库](https://github.com/zhenxun-org/zhenxun_bot_plugins_index) | 插件 | [zhenxun-org](https://github.com/zhenxun-org) | 扩展插件索引库 |
| [WebUi](https://github.com/HibiKier/zhenxun_bot_webui) | 管理 | [hibikier](https://github.com/HibiKier) | 基于真寻WebApi的webui实现 | | [一键安装](https://github.com/soloxiaoye2022/zhenxun_bot-deploy) | 安装 | [soloxiaoye2022](https://github.com/soloxiaoye2022) | 第三方 |
| [一键安装](https://github.com/zhenxun-org/zhenxun_bot-deploy) | 安装 | [AkashiCoin](https://github.com/AkashiCoin) | 新版本未测试 | | [WebUi](https://github.com/HibiKier/zhenxun_bot_webui) | 管理 | [hibikier](https://github.com/HibiKier) | 基于真寻 WebApi 的 webui 实现 |
| [Docker单机版](https://github.com/Sakuracio/zhenxun_bot_docker) | 安装 | [zhenxun-org](https://github.com/zhenxun-org) | 新版本未测试 | | [安卓 app(WebUi)](https://github.com/YuS1aN/zhenxun_bot_android_ui) | 安装 | [YuS1aN](https://github.com/YuS1aN) | 第三方 |
| [Docker全量版](https://shields.io/badge/GITHUB-SinKy--Yan-4476AF?logo=github&style=for-the-badge) | 安装 | [zhenxun-org](https://github.com/zhenxun-org) | 包含 真寻Bot PostgreSQL数据库 go-cqhttp webui等新版本未测试 |
PS **ARM平台** 请使用全量版 同时 **如果你的机器 RAM < 1G 可能无法正常启动全量版容器**
<details> <details>
<summary> <strong> WebUI </strong>后台示例图 </summary> <summary> <strong> WebUI </strong>后台示例图 </summary>
![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui1.png) ![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui00.png)
![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui2.png) ![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui01.png)
![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui3.png) ![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui02.png)
![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui4.png) ![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui03.png)
![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui5.png) ![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui04.png)
![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui6.png) ![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui05.png)
![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui7.png) ![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui06.png)
![x](https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/webui07.png)
</details> </details>
@ -112,11 +112,12 @@ PS **ARM平台** 请使用全量版 同时 **如果你的机器 RAM < 1G 可
## ~~来点优点?~~ 可爱难道还不够吗 ## ~~来点优点?~~ 可爱难道还不够吗
- 实现了许多功能,且提供了大量功能管理命令 - 实现了许多功能,且提供了大量功能管理命令,进行了多平台适配,兼容 nb2 商店插件
- 通过Config配置项将所有插件配置统计保存至config.yaml利于统一用户修改 - 拥有完善可用的 webui
- 方便增删插件原生nonebot2 matcher不需要额外修改仅仅通过简单的配置属性就可以生成`帮助图片`和`帮助信息` - 通过 Config 配置项将所有插件配置统计保存至 config.yaml利于统一用户修改
- 提供了cd阻塞每日次数等限制仅仅通过简单的属性就可以生成一个限制例如`PluginCdBlock` 等 - 方便增删插件,原生 nonebot2 matcher不需要额外修改仅仅通过简单的配置属性就可以生成`帮助图片`和`帮助信息`
- **..... 更多详细请通过`传送门`查看文档!** - 提供了 cd阻塞每日次数等限制仅仅通过简单的属性就可以生成一个限制例如`PluginCdBlock` 等
- **..... 更多详细请通过[[传送门](https://hibikier.github.io/zhenxun_bot/)]查看文档!**
## 简单部署 ## 简单部署
@ -135,9 +136,6 @@ poetry install # 安装依赖
poetry shell # 进入虚拟环境 poetry shell # 进入虚拟环境
python bot.py python bot.py
# 在Linux系统你可能还需要运行此命令安装playwright依赖
playwright install-deps
# 首次后会在data目录下生成config.yaml文件 # 首次后会在data目录下生成config.yaml文件
# config.yaml用户配置插件 # config.yaml用户配置插件
``` ```
@ -159,6 +157,8 @@ playwright install-deps
' '
# 此处填写你的数据库地址 # 此处填写你的数据库地址
# 示例: "postgres://user:password@127.0.0.1:5432/database" # 示例: "postgres://user:password@127.0.0.1:5432/database"
# 示例: "mysql://user:password@127.0.0.1:5432/database"
# 示例: "sqlite:data/db/zhenxun.db" 在data目录下建立db文件夹
DB_URL = "" # 数据库地址 DB_URL = "" # 数据库地址
@ -167,165 +167,101 @@ playwright install-deps
``` ```
## 功能列表 (旧版列表) ## 功能列表
<details> <details>
<summary>已实现的功能</summary> <summary>内置功能</summary>
### 已实现的常用功能 **真寻原 `plugins` 插件文件夹已迁移至其他仓库,当前内置仅保留必要的功能**
- [x] 昵称系统(群与群与私聊分开. ### 基础功能
- [x] 图灵AI会把'你'等关键字替换为你的昵称),且带有 [AnimeThesaurus](https://github.com/Kyomotoi/AnimeThesaurus),够味 - [x] 昵称系统(群与群与私聊分开
- [x] 签到/我的签到/好感度排行/好感度总排行(影响色图概率和开箱次数,支持配置) - [x] 签到/我的签到/好感度排行/好感度总排行(影响色图概率和开箱次数,支持配置)
- [x] 发送某文件夹下的随机图片(支持自定义,默认:美图,萝莉,壁纸) - [x] 商店/我的金币/购买道具/使用道具/金币排行(完整的商店添加/购买/使用流程)
- [x] 色图(这不是基础功能嘛喂)
- [x] coser
- [x] 黑白草图生成器
- [x] 鸡汤/语录
- [x] 骂我(钉宫语音)
- [x] 戳一戳(概率发送美图,钉宫语音或者戳回去)
- [x] 模拟开箱/我的开箱/群开箱统计/我的金色/设置cookiecsgo内置爬虫脚本需要提前抓取数据和图片需要session可能需要代理阿里云服务器等ip也许已经被ban了我无代理访问失败如果访问太多账号API调用可能被禁止访问api
- [x] 鲁迅说过
- [x] 构造假消息(自定义的分享链接)
- [x] 商店/我的金币/购买道具/使用道具
- [x] 8种手游抽卡 (查看 [nonebot_plugin_gamedraw](https://github.com/HibiKier/nonebot_plugin_gamedraw))
- [x] 我有一个朋友想问问..借鉴pcrbot插件
- [x] 原神黄历
- [x] 原神今日素材
- [x] 原神资源查询 (借鉴[Genshin_Impact_bot](https://github.com/H-K-Y/Genshin_Impact_bot)插件)
- [x] 原神便笺查询
- [x] 原神玩家查询
- [x] 原神树脂提醒
- [x] 原神签到/自动签到
- [x] 金币红包
- [x] 微博热搜
- [x] B站主播/UP/番剧订阅
- [x] pil对图片的一些操作
- [x] BUFF饰品底价查询需要session
- [x] 天气查询
- [x] 疫情查询
- [x] bt磁力搜索咳咳这功能我想dddd
- [x] reimu搜索上车 (使用[XUN_Langskip](https://github.com/Angel-Hair/XUN_Bot)的插件)
- [x] 靠图识番 (使用[XUN_Langskip](https://github.com/Angel-Hair/XUN_Bot)的插件)
- [x] 以图搜图 (使用[nonebot_plugin_picsearcher](https://github.com/synodriver/nonebot_plugin_picsearcher)插件)
- [x] 搜番
- [x] 点歌 [nonebot_plugin_songpicker2](https://github.com/maxesisn/nonebot_plugin_songpicker2)插件(删除了选歌和评论)
- [x] epic免费游戏
- [x] p站排行榜
- [x] p站搜图
- [x] 翻译(日英韩)
- [x] pix图库一个自己的图库含有增删查改黑名单等命令
- [x] 查看当前群欢迎消息 - [x] 查看当前群欢迎消息
- [x] 查看该群自己的权限 - [x] 个人信息查看(群组内权限,聊天频率等)
- [x] 我的信息(只是为了看看什么时候入群) - [x] 消息撤回
- [x] 更新信息(如果继续更新的话)
- [x] go-cqhttp最新版下载和上传不需要请删除
- [x] 撤回
- [x] 滴滴滴-(用户对超级用户发送消息)
- [x] 金币红包/金币排行
- [x] 俄罗斯轮盘/胜场排行/败场排行/欧洲人排行/慈善家排行
- [x] 网易云热评
- [x] 念首古诗
- [x] 获取b站视频封面
- [x] 通过PID获取图片
- [x] 功能统计可视化 - [x] 功能统计可视化
- [x] 词云
- [x] 关于 - [x] 关于
- [x] 三种样式的帮助菜单
### 已实现的管理员功能 ### 管理员功能
- [x] 管理员帮助
- [x] 更新群组成员信息 - [x] 更新群组成员信息
- [x] 95%的群功能开关 - [x] 95%的群功能开关
- [x] 查看群内被动技能状态 - [x] 查看群内被动技能状态
- [x] 自定义群欢迎消息(是真寻的不是管家的!) - [x] 自定义群欢迎消息(是真寻的不是管家的!)
- [x] .ban/.unban支持设置ban时长= 黑白名单 - [x] ban/unban支持设置 ban 时长)= 群组及用户的黑名单
- [x] 刷屏禁言相关:刷屏检测设置/设置禁言时长/设置检测次数 - [x] 休息吧/醒来(群组内真寻状态)
- [x] 上传图片/连续上传图片 (上传图片至指定图库)
- [x] 移动图片 (同上)
- [x] 删除图片 (同上)
- [x] 群内B站订阅
- [x] 词条设置
- [x] 休息吧/醒来
### 已实现的超级用户功能 ### 超级用户功能
- [x] 超级用户帮助
- [x] 添加/删除权限(是真寻的管理员权限,不是群管理员) - [x] 添加/删除权限(是真寻的管理员权限,不是群管理员)
- [x] 群组管理,退群指令等
- [x] 开启/关闭指定群的广播通知
- [x] 广播 - [x] 广播
- [x] 自检(检查系统状态) - [x] 自检(检查系统状态)
- [x] 所有群组/所有好友 - [x] 所有群组/所有好友
- [x] 退出指定群 - [x] 退出指定群
- [x] 更新好友信息/更新群信息 - [x] 更新好友信息/更新群信息
- [x] /t对用户进行回复或发送消息
- [x] 上传/删除/修改商品(需要编写对应的商品功能)
- [x] 节日红包发送
- [x] 修改群权限 - [x] 修改群权限
- [x] ban - [x] 检查更新
- [x] 更新色图
- [x] 更新价格/更加图片csgo开箱
- [x] 重载原神/方舟/赛马娘/坎公骑冠剑卡池
- [x] 更新原神今日素材/更新原神资源信息
- [x] PIX相关操作
- [x] 检查更新真寻
- [x] 重启 - [x] 重启
- [x] 添加/删除/查看群白名单 - [x] 添加/删除/查看群白名单
- [x] 功能开关(更多设置) - [x] 功能开关(更多设置)
- [x] 功能状态 - [x] 功能状态
- [x] b了 - [x] 执行 SQL
- [x] 执行sql
- [x] 重载配置 - [x] 重载配置
- [x] 清理临时数据 - [x] 清理临时数据
- [x] 增删群认证 - [x] 增删群认证
- [x] 同意/拒绝好友/群聊请求 - [x] 同意/拒绝好友/群聊请求
- [x] 配置重载 - [x] 添加/移除/更新插件/插件商店plugins 库以及扩展库)
- [x] WebUI API对真寻前端的支持
#### 超级用户的被动技能 #### 超级用户的被动技能
- [x] 邀请入群提醒(别人邀请真寻入群) - [x] 邀请入群提醒(别人邀请真寻入群,可配置自动同意)
- [x] 添加好友提醒(别人添加真寻好友) - [x] 添加好友提醒(别人添加真寻好友,可配置自动同意)
### 已实现的被动技能 ### 被动技能
- [x] 进群欢迎消息
- [x] 群早晚安 - [x] 群早晚安
- [x] 每日开箱重置提醒
- [x] b站转发解析解析b站分享信息支持bvbilibili链接b站手机端转发卡片cvb23.tv且5分钟内不解析相同url
- [x] 丢人爬(爬表情包)
- [x] epic通知每日发送epic免费游戏链接
- [x] 原神黄历提醒
- [x] 复读
### 已实现的看不见的技能 ### 看不见的技能
- [x] 刷屏禁言检测
- [x] 功能调用统计 - [x] 功能调用统计
- [x] 检测恶意触发命令将被最高权限ban掉30分钟只有最高权限(9级)可以进行unban - [x] 聊天记录统计
- [x] 自动同意好友请求,加群请求将会提醒管理员,退群提示,加群欢迎等等 - [x] 检测恶意触发命令(将被最高权限 ban 掉 30 分钟,只有最高权限(9 级)可以进行 unban
- [x] 群聊时间检测当群聊最后一人发言时间大于当前36小时后将关闭该群所有通知即被动技能 - [x] 自动同意好友/群组请求,加群请求将会提醒管理员,退群提示,加群欢迎等等
- [x] 群聊时间检测(当群聊最后一人发言时间大于当前 48 小时后将关闭该群所有通知(即被动技能))
- [x] 群管理员监控,自动为新晋管理员增加权限,为失去群管理员的用户删除权限 - [x] 群管理员监控,自动为新晋管理员增加权限,为失去群管理员的用户删除权限
- [x] 群权限系统 - [x] 群权限系统
- [x] 定时更新权限 - [x] 定时更新权限
- [x] 自动配置重载 - [x] 自动配置重载
- [x] 强制入群保护
- [x] 自定备份(可配置)
- [x] 笨蛋检测(当使用功能名称当指令时真寻会跳出来狠狠嘲笑并帮助)
### 更多插件...
- [更多插件](https://github.com/zhenxun-org/zhenxun_bot_plugins)
- [第三方插件索引库](https://github.com/zhenxun-org/zhenxun_bot_plugins_index)
</details> </details>
## [爱发电](https://afdian.net/@HibiKier) ## [爱发电](https://afdian.com/a/HibiKier)
<details> <details>
<summary>爱发电 以及 感谢投喂 </summary> <summary>爱发电 以及 感谢投喂 </summary>
<img width="365px" height="450px" src="https://user-images.githubusercontent.com/45528451/175059389-cfeb8174-fa07-4939-80ab-a039087a50f6.png"> <img width="365px" height="450px" src="https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/docs_image/afd.jpg">
### 感谢名单 ### 感谢名单
(可以告诉我你的 **github** 地址我偷偷换掉0v|) (可以告诉我你的 **github** 地址,我偷偷换掉 0v|)
[shenqi](https://afdian.net/u/fa923a8cfe3d11eba61752540025c377) [shenqi](https://afdian.net/u/fa923a8cfe3d11eba61752540025c377)
[A_Kyuu](https://afdian.net/u/b83954fc2c1211eba9eb52540025c377) [A_Kyuu](https://afdian.net/u/b83954fc2c1211eba9eb52540025c377)
@ -343,13 +279,13 @@ playwright install-deps
[本喵无敌哒](https://afdian.net/u/dffaa9005bc911ebb69b52540025c377) [本喵无敌哒](https://afdian.net/u/dffaa9005bc911ebb69b52540025c377)
[椎名冬羽](https://afdian.net/u/ca1ebd64395e11ed81b452540025c377) [椎名冬羽](https://afdian.net/u/ca1ebd64395e11ed81b452540025c377)
[kaito](https://afdian.net/u/a055e20a498811eab1f052540025c377) [kaito](https://afdian.net/u/a055e20a498811eab1f052540025c377)
[笑柒XIAO_Q7](https://afdian.net/u/4696db5c529111ec84ea52540025c377) [笑柒 XIAO_Q7](https://afdian.net/u/4696db5c529111ec84ea52540025c377)
[请问一份爱多少钱](https://afdian.net/u/f57ef6602dbd11ed977f52540025c377) [请问一份爱多少钱](https://afdian.net/u/f57ef6602dbd11ed977f52540025c377)
[咸鱼鱼鱼鱼](https://afdian.net/u/8e39b9a400e011ed9f4a52540025c377) [咸鱼鱼鱼鱼](https://afdian.net/u/8e39b9a400e011ed9f4a52540025c377)
[Kafka](https://afdian.net/u/41d66798ef6911ecbc5952540025c377) [Kafka](https://afdian.net/u/41d66798ef6911ecbc5952540025c377)
[墨然](https://afdian.net/u/8aa5874a644d11eb8a6752540025c377) [墨然](https://afdian.net/u/8aa5874a644d11eb8a6752540025c377)
[爱发电用户\_T9e4](https://afdian.net/u/2ad1bb82f3a711eca22852540025c377) [爱发电用户\_T9e4](https://afdian.net/u/2ad1bb82f3a711eca22852540025c377)
[笑柒XIAO_Q7](https://afdian.net/u/4696db5c529111ec84ea52540025c377) [笑柒 XIAO_Q7](https://afdian.net/u/4696db5c529111ec84ea52540025c377)
[noahzark](https://afdian.net/a/noahzark) [noahzark](https://afdian.net/a/noahzark)
[腊条](https://afdian.net/u/f739c4d69eca11eba94b52540025c377) [腊条](https://afdian.net/u/f739c4d69eca11eba94b52540025c377)
[zeroller](https://afdian.net/u/0e599e96257211ed805152540025c377) [zeroller](https://afdian.net/u/0e599e96257211ed805152540025c377)
@ -371,14 +307,15 @@ playwright install-deps
[](https://afdian.net/u/9b266244f23911eca19052540025c377) [](https://afdian.net/u/9b266244f23911eca19052540025c377)
[yajiwa](https://github.com/yajiwa) [yajiwa](https://github.com/yajiwa)
[爆金币](https://afdian.net/u/0d78879ef23711ecb22452540025c377) [爆金币](https://afdian.net/u/0d78879ef23711ecb22452540025c377)
...
</details> </details>
## 更新 <!-- ## 更新
### 2024/8/11 ### 2024/8/11
- 更新dev - 更新 dev -->
<!-- ### 2024/1/25 <!-- ### 2024/1/25
@ -820,20 +757,20 @@ playwright install-deps
## Todo ## Todo
- [x] web管理 - [x] web 管理
## 感谢 ## 感谢
[botuniverse / onebot](https://github.com/botuniverse/onebot) :超棒的机器人协议 [botuniverse / onebot](https://github.com/botuniverse/onebot) :超棒的机器人协议
[Mrs4s / go-cqhttp](https://github.com/Mrs4s/go-cqhttp) cqhttp的golang实现轻量、原生跨平台. [Mrs4s / go-cqhttp](https://github.com/Mrs4s/go-cqhttp) cqhttp golang 实现,轻量、原生跨平台.
[nonebot / nonebot2](https://github.com/nonebot/nonebot2) 跨平台Python异步机器人框架 [nonebot / nonebot2](https://github.com/nonebot/nonebot2) :跨平台 Python 异步机器人框架
[Angel-Hair / XUN_Bot](https://github.com/Angel-Hair/XUN_Bot) 一个基于NoneBot和酷Q的功能性QQ机器人 [Angel-Hair / XUN_Bot](https://github.com/Angel-Hair/XUN_Bot) :一个基于 NoneBot 和酷 Q 的功能性 QQ 机器人
[pcrbot / cappuccilo_plugins](https://github.com/pcrbot/cappuccilo_plugins) hoshino插件合集 [pcrbot / cappuccilo_plugins](https://github.com/pcrbot/cappuccilo_plugins) hoshino 插件合集
[MeetWq /nonebot-plugin-withdraw](https://github.com/MeetWq/nonebot-plugin-withdraw) A simple withdraw plugin for Nonebot2 [MeetWq /nonebot-plugin-withdraw](https://github.com/MeetWq/nonebot-plugin-withdraw) A simple withdraw plugin for Nonebot2
[maxesisn / nonebot_plugin_songpicker2](https://github.com/maxesisn/nonebot_plugin_songpicker2) 适用于nonebot2的点歌插件 [maxesisn / nonebot_plugin_songpicker2](https://github.com/maxesisn/nonebot_plugin_songpicker2) :适用于 nonebot2 的点歌插件
[nonepkg / nonebot-plugin-manager](https://github.com/nonepkg/nonebot-plugin-manager) Nonebot Plugin Manager base on import hook [nonepkg / nonebot-plugin-manager](https://github.com/nonepkg/nonebot-plugin-manager) Nonebot Plugin Manager base on import hook
[H-K-Y / Genshin_Impact_bot](https://github.com/H-K-Y/Genshin_Impact_bot) 原神bot这是一个基于nonebot和HoshinoBot的原神娱乐及信息查询插件 [H-K-Y / Genshin_Impact_bot](https://github.com/H-K-Y/Genshin_Impact_bot) :原神 bot这是一个基于 nonebot HoshinoBot 的原神娱乐及信息查询插件
[NothAmor / nonebot2_luxun_says](https://github.com/NothAmor/nonebot2_luxun_says) 基于nonebot2机器人框架的鲁迅说插件 [NothAmor / nonebot2_luxun_says](https://github.com/NothAmor/nonebot2_luxun_says) :基于 nonebot2 机器人框架的鲁迅说插件
[Kyomotoi / AnimeThesaurus](https://github.com/Kyomotoi/AnimeThesaurus) :一个~~特二刺螈~~文爱的适用于任何bot的词库 [Kyomotoi / AnimeThesaurus](https://github.com/Kyomotoi/AnimeThesaurus) :一个~~特二刺螈~~(文爱)的适用于任何 bot 的词库
[Ailitonia / omega-miya](https://github.com/Ailitonia/omega-miya) 基于nonebot2的qq机器人 [Ailitonia / omega-miya](https://github.com/Ailitonia/omega-miya) :基于 nonebot2 qq 机器人
[KimigaiiWuyi / GenshinUID](https://github.com/KimigaiiWuyi/GenshinUID) 一个基于HoshinoBot/NoneBot2的原神UID查询插件 [KimigaiiWuyi / GenshinUID](https://github.com/KimigaiiWuyi/GenshinUID) :一个基于 HoshinoBot/NoneBot2 的原神 UID 查询插件

View File

@ -1 +1 @@
__version__: v0.2.2 __version__: v0.2.4-c7c759f

2
bot.py
View File

@ -7,7 +7,6 @@ from nonebot.adapters.onebot.v11 import Adapter as OneBotV11Adapter
nonebot.init() nonebot.init()
from zhenxun.services.db_context import disconnect, init
driver = nonebot.get_driver() driver = nonebot.get_driver()
driver.register_adapter(OneBotV11Adapter) driver.register_adapter(OneBotV11Adapter)
@ -15,6 +14,7 @@ driver.register_adapter(KaiheilaAdapter)
driver.register_adapter(DoDoAdapter) driver.register_adapter(DoDoAdapter)
# driver.register_adapter(DiscordAdapter) # driver.register_adapter(DiscordAdapter)
from zhenxun.services.db_context import init, disconnect
driver.on_startup(init) driver.on_startup(init)
driver.on_shutdown(disconnect) driver.on_shutdown(disconnect)

View File

@ -1,66 +0,0 @@
{
"抽卡":{
"buff": ["欧气满满,十连出金","出金不歪"],
"debuff": ["武器大师","保底出金","金色会是痛苦大剑"]
},
"刷世界boss":{
"buff": ["双攻双爆角斗士"],
"debuff": ["只有保底材料","贪生怕死角斗士"]
},
"刷风本":{
"buff": ["会有极品猎人套","会掉真正的少女心","治疗加成少女头"],
"debuff": ["勇往直前少女心","少女飘摇的杀意","少女暴怒的容颜"]
},
"刷火本":{
"buff": ["魔女帽子火伤杯","暴伤魔女帽!","火伤魔女心!"],
"debuff": ["幡 然 醒 悟","这么阴间的地方真的会有魔女套吗?","不务正业火魔女","会匹配到3个卢姥爷"]
},
"刷岩本":{
"buff": ["悠久的磐岩伴你左右","岩神的庇护常在"],
"debuff": ["防御流星杯,你值得拥有"]
},
"刷宗室":{
"buff": ["物理伤害骑士道,元素精通宗室套"],
"debuff": ["贪生怕死骑士道,物理伤害宗室杯"]
},
"刷冰本":{
"buff": ["双暴词条概率up"],
"debuff": ["防御力船帽,无人可及"]
},
"刷雷本":{
"buff": ["愿雷鸟伴你左右"],
"debuff": ["来表演一个只掉平雷套的绝活","风神忽悠雷凶兆"]
},
"锄大地":{
"buff": ["会掉一大堆紫色材料"],
"debuff": ["深渊法师爱你哟","会被冰水法控到死"]
},
"挖矿":{
"buff": ["开矿出双材料"],
"debuff": ["去别人世界会被拒"]
},
"刷天赋本":{
"buff": ["金色!我看到了金色的书!"],
"debuff": ["2蓝2绿不会变"]
},
"刷突破材料":{
"buff": ["金色!我看到了金色的材料!"],
"debuff": ["2蓝2绿不会变"]
},
"升级圣遗物":{
"buff": ["稀有词条跳跳跳","会双爆拉满"],
"debuff": ["女 仆 狂 喜","无中生有防御力","生命拉满","完美避开双爆"]
},
"打风魔龙":{
"buff": ["看我一箭一个风魔鸡","今天特瓦林可以给想要的突破材料","5金加原胚"],
"debuff": ["会不小心掉下平台","不小心被地板烫死了"]
},
"打狼王":{
"buff": ["今天安德琉斯的心情不错可以py一下","5金加原胚"],
"debuff": ["狼尾巴*1"]
},
"打公子":{
"buff": ["今天可以和公子py想要的突破材料","5金加原胚"],
"debuff": ["要角没有!要命一条!"]
}
}

BIN
docs_image/afd.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
docs_image/webui00.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

BIN
docs_image/webui01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

BIN
docs_image/webui02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

BIN
docs_image/webui03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

BIN
docs_image/webui04.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

BIN
docs_image/webui05.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

BIN
docs_image/webui06.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

BIN
docs_image/webui07.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

BIN
docs_image/zhenxun_help.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 917 KiB

3438
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -28,7 +28,7 @@ nonebot2 = "^2.1.3"
pydantic = "1.10.18" pydantic = "1.10.18"
nonebot-adapter-discord = "^0.1.3" nonebot-adapter-discord = "^0.1.3"
nonebot-adapter-dodo = "^0.1.4" nonebot-adapter-dodo = "^0.1.4"
pillow = "9.5" pillow = "^10.0.0"
retrying = "^1.3.4" retrying = "^1.3.4"
aiofiles = "^23.2.1" aiofiles = "^23.2.1"
nonebot-plugin-htmlrender = "^0.3.0" nonebot-plugin-htmlrender = "^0.3.0"
@ -47,7 +47,10 @@ dateparser = "^1.2.0"
bilireq = "0.2.3post0" bilireq = "0.2.3post0"
python-jose = { extras = ["cryptography"], version = "^3.3.0" } python-jose = { extras = ["cryptography"], version = "^3.3.0" }
python-multipart = "^0.0.9" python-multipart = "^0.0.9"
nonebot-plugin-alconna = "0.51.1" aiocache = "^0.12.2"
py-cpuinfo = "^9.0.0"
nonebot-plugin-uninfo = "^0.4.1"
nonebot-plugin-alconna = "^0.53.1"
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
nonebug = "^0.3.2" nonebug = "^0.3.2"
@ -134,6 +137,9 @@ typeCheckingMode = "standard"
reportShadowedImports = false reportShadowedImports = false
disableBytesTypePromotions = true disableBytesTypePromotions = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
[build-system] [build-system]
requires = ["poetry-core>=1.0.0"] requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api" build-backend = "poetry.core.masonry.api"

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Some files were not shown because too many files have changed in this diff Show More