Compare commits

...
Author SHA1 Message Date
HibiKier 094a8701f6 🩹 修正踢出bot时参数 2025-04-05 21:50:21 +08:00
BalconyJH b548ea522b 🐛 Refactor chat message handling to improve message storage and error logging 2025-04-04 20:41:17 +08:00
BalconyJH 057975a3b9 ⬆️ Update poetry.lock 2025-04-04 20:41:17 +08:00
HibiKier 36bbaa3ae1 🐛 修复获取群组时会修改群组插件关闭状态 (#1869)
* 🐛 修复获取群组时会修改群组插件关闭状态

* ✨ 支持https图片地址转换

* ✨ 支持https图片地址转换

* 🎨 移除多余导入

* 🎨  优化GroupConsole设置插件默认状态代码结构

* 🎨 优化群组表代码结构

* ⚡ 移除build_message的https默认转图片
2025-04-02 17:25:38 +08:00
HibiKierandBalconyJH 737a740968 Feature/pyright check (#1845)
* ✨ 新增Pyright Lint工作流

* ✨ 新增Ruff Lint工作流

* 👷 添加pydanitc矩阵

* 👷 添加手动触发支持

---------

Co-authored-by: BalconyJH <balconyjh@gmail.com>
2025-03-25 00:23:34 +08:00
HibiKier 629b4256af 🐛 修复群欢迎消息删除问题 (#1864)
* 🐛 修复群欢迎消息删除问题

* 🩹 优化笨蛋检测和修复商店图标问题

* 🎨 笨蛋检测更多规则移入rule

* 🎨 优化我的道具方法
2025-03-03 22:19:34 +08:00
HibiKier f1d32bff89 ✨ 提供qq协议端判断方法,广播添加to_me规则以及延迟 (#1858)
* ✨ 提供qq协议端判断方法

* 🩹 API重试添加额外错误捕获

* 🩹 广播添加延迟,添加to_me规则
2025-02-24 09:33:06 +08:00
a6ddb726d3 新增插件智能模式适配 (#1850)
* 新增插件智能模式适配

* 🚨 auto fix by pre-commit hooks

* 更改类名,命名更清晰

* 🎨 添加模块化参数

* 🎨  AI模块化修改

* 🩹  道具调用修复

* 🩹 修复商品使用前检测

* ✨ retry增加参数适配

* ✨  修改道具使用函数参数传递

* ✨ 捕获道具无法使用异常

* 🐛 添加依赖require

* 🐛  修复插件使用问题

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: HibiKier <45528451+HibiKier@users.noreply.github.com>
2025-02-24 09:28:53 +08:00
Komorebi 78df9ed086 📝 添加 Badge (#1859) 2025-02-23 15:13:16 +08:00
BalconyJH 39b39e3fdb 📝 Update bug report and feature request templates (#1857) 2025-02-22 22:25:51 +08:00
BalconyJH 2323ec1bf6 👷 Add CodeQL workflow for code security analysis 2025-02-19 09:08:12 +08:00
AkashiCoin 0e5a79ce2c 🐛 fix(plugin-store): 优先获取commit号在进行插件下载 (#1853)
* 🐛  fix(plugin-store): 优先获取commit号在进行插件下载

* ✅  perf(github-utils): 使用sourcery建议,封装更新commit方法
2025-02-18 15:32:26 +08:00
HibiKierandBalconyJH aef2597b46 ✨ 添加自动同意群组请求 (#1848)
* ✨ 添加自动同意群组请求

* ➕ Add nonebot-plugin-waiter

---------

Co-authored-by: BalconyJH <balconyjh@gmail.com>
2025-02-12 23:32:46 +08:00
HibiKier 41613c09a9 ✨ 提供一个插件好感度限制 (#1846)
* ✨ 提供一个插件好感度限制

* 💬 在提示中显示需要的好感度
2025-02-10 15:39:18 +08:00
BalconyJH ee55078b56 ⬆️ Upgrade nonebot-plugin-htmlrender to version 0.6.0 (#1844) 2025-02-07 13:16:24 +08:00
HibiKier 5fd746a52a 🚑 修复field在pyd1下报错 (#1842)
* 🚑 修复field在pyd1下报错

* 🐛 修正字段
2025-02-04 02:15:21 +08:00
HibiKierandpre-commit-ci[bot] 4ed1791b30 🐛 修复添加插件依赖更新 (#1837)
* 🐛 修复添加插件依赖更新

* 🔧 修改插件依赖安装命令为使用poetry运行pip

* 🐛 修复群组入群与退群提示

* 🐛 修复群组踢出用户提醒

* 🎨 代码优化

* 🎨 群欢迎迁移优化

* 🩹 精确webui调用统计

* 🚨 auto fix by pre-commit hooks

* 🐛 修复测试

* 🎨 fix pre-commit.ci

* 🎨  fix pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-03 21:23:14 +08:00
BalconyJH d6fd5f170a 🚨 Make pyright happy (#1840) 2025-01-27 03:40:50 +08:00
molanpandmolanp 40779e05e8 修复文本错误 (#1839)
Co-authored-by: molanp <molanp>
2025-01-25 18:29:14 +08:00
HibiKier d0b1024566 🐛 修复Config add配置时显示问题 (#1835) 2025-01-16 09:13:28 +08:00
HibiKier 63145ffee0 🐛 修复商店购买 (#1834)
* ✨ 优化商店模块查询与修复购买逻辑

* ✨ 修复商店购买逻辑及优化商品展示
2025-01-13 14:33:38 +08:00
HibiKier 264929e5cb ✨ 新增好感度/金币设置和详细帮助 (#1831)
* ✨ 新增好感度/金币设置和详细帮助

* 🔧 修复html帮助
2025-01-10 18:39:23 +08:00
HibiKier dc143c0682 🔧 Update SESSION_EXPIRE_TIMEOUT configuration 2025-01-10 12:19:11 +08:00
HibiKier 0462703b13 ✅ Repair self-test 2025-01-10 12:19:11 +08:00
HibiKier 73d2ed444e ➖ Add fastapi dependency and remove nonebot-plugin-userinfo 2025-01-10 12:19:11 +08:00
BalconyJH e2111278d2 ⬆️ Upgrade nonebot-plugin-apscheduler to version 0.5.0, pytest-asyncio to version 0.25.1 and adjust dependencies 2025-01-10 12:19:11 +08:00
BalconyJH 73c4b327df 🔧 Refactor dev dependencies section in pyproject.toml 2025-01-10 12:19:11 +08:00
BalconyJH 2afda7b284 ➖ Unlock pydantic version 2025-01-10 12:19:11 +08:00
HibiKier ccee16bed2 🚨 Add specific ignore items in pyright ignore
🚨 Make pyright happy
♻️ Remove unused adapter
2025-01-10 12:19:11 +08:00
HibiKier e814469b75 ✨ Compatible with pydantic 2.0 using the pydantic compatibility layer provided by nonebot 2025-01-10 12:19:11 +08:00
HibiKier 23ef00d01f 🐛 移除神秘药水2道具 (#1828) 2025-01-09 00:11:38 +08:00
HibiKier 893611def0 🚑 修复插件配置项显示 (#1824) 2025-01-07 16:41:42 +08:00
HibiKier e124c1dbdb 🚑 修复商品图标显示 (#1823) 2025-01-07 14:50:47 +08:00
HibiKier 2c798a6cd8 ✨ 使用env中的日志等级记录日志 (#1821) 2025-01-07 10:11:57 +08:00
AkashiCoin d274b18adb 🎉 chore(version): Update version to v0.2.4-2c97eea (#1797) 2025-01-07 09:28:23 +08:00
HibiKierandFlern 2c97eeac79 🐛 移除resources,图标不存在时不会显示图片 (#1820)
Co-authored-by: Flern <cb56ec362bbbfb5272eb941281299d8d-qq_connect@git.osc>
2025-01-07 09:26:05 +08:00
HibiKierandFlern 2f939ff52b 🐛 修复商品图标显示问题,移除测试道具 (#1817)
Co-authored-by: Flern <cb56ec362bbbfb5272eb941281299d8d-qq_connect@git.osc>
2025-01-06 21:23:15 +08:00
HibiKierandFlern 2a5c06702a ✨ 新增全新商店界面 (#1816)
* 🎉 新增商店模板及样式配置

* 🎨 移除webui注释

* 🎨 新增神秘药水道具及商店样式调整

* 🎨 添加商店样式底部边距调整

---------

Co-authored-by: Flern <cb56ec362bbbfb5272eb941281299d8d-qq_connect@git.osc>
2025-01-06 19:21:35 +08:00
HibiKierandFlern ec70144d7e ✨ 资源下载分离 (#1814)
* 🚀 资源文件单独下载,分离被动任务初始化

* 🔥 移除resources文件夹

* 🚀 优化版本更新逻辑,增加资源下载异常处理

* 🚀 增加资源下载失败异常处理及提示信息

* 🚀 增加资源下载选项及异常处理优化

* 🚀 移除空ID检查及资源更新条件处理

* ✨ 简易配置中未加载的配置将被移除

* 🐛 测试更新

* ✨ 修复更新完成消息格式

---------

Co-authored-by: Flern <cb56ec362bbbfb5272eb941281299d8d-qq_connect@git.osc>
2025-01-06 11:32:56 +08:00
HibiKier 91dce56bf8 🐛 修复群组中插件默认状态 (#1810) 2024-12-30 16:44:13 +08:00
35014e4048 重构webui适配 (#1801)
* ♻️ 使用Uninfo重构PlatformUtils基础方法

* 🩹 优化插件加载与模块格式转换逻辑

* 🚑 修复商店道具无法使用

* 🚑 修复道具无法正常使用

* 🔧 增加Bot状态管理及模块禁用功能

* 🎨  优化Web UI代码结构,修改target方法

* 🚨 auto fix by pre-commit hooks

* 🎨 添加菜单API及优化异常处理

* 🐛 优化菜单API及模型结构,修复WebUi插件列表Api

* 📝 更新仓库readme

* 🚨 add mdlint file

* 📝 Add help chapter.

* 🐛 修复优化AuthChecker逻辑

* 🐛 优化数据库API,移除冗余导入及修正SQL_DICT引用

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: BalconyJH <balconyjh@gmail.com>
2024-12-25 12:03:49 +08:00
HibiKier ebf05fd884 🚑 修复道具购买限制检查 (#1796) 2024-12-24 11:26:52 +08:00
HibiKier 108cdd45b1 🐛 修复自检测试 (#1795) 2024-12-24 11:15:42 +08:00
AkashiCoin 012a23008b 🎉 chore(version): Update version to v0.2.4-4291cda (#1776) 2024-12-23 10:09:52 +08:00
AkashiCoin c84e99d084 🐛 fix(github_utils): 适配插件仓库根目录语法 (#1784) 2024-12-23 10:09:38 +08:00
HibiKierandBalconyJH 4291cda244 ⚡️ 优化自检插件逻辑,增加规则判断,添加nonebug配置 (#1792)
* ⬆️ Expand the range of nonebug version restrictions and update nonebot-plugin-alconna.

* ✅ Update pytest configuration.

* ✅ Add pytest hook to tag async tests with session-scoped event loop.

* ⚡️ 优化自检插件逻辑,增加规则判断

---------

Co-authored-by: BalconyJH <balconyjh@gmail.com>
2024-12-23 10:09:06 +08:00
HibiKier 3a197c0c1d 🐛 修复使用道具错误 (#1790) 2024-12-21 23:52:17 +08:00
BalconyJH a34e433ebf 🐛 Fix help_type in create_help_img may be none and cause AttributeError. (#1791) 2024-12-21 20:46:00 +08:00
梦璃雨落 176b5c9afd 🐞 fix(web_ui): 修复webui导入路径错误 (#1785) 2024-12-20 10:28:36 +08:00
HibiKierandpre-commit-ci[bot] a8e4d29031 🐛 修改webui导入路径 (#1783)
* 🐛 修改webui导入路径

* 🚨 auto fix by pre-commit hooks

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-19 09:51:31 +08:00
a15303a891 重构插件商店更新逻辑&彻底修复工作流 (#1782)
* 修复bot-check工作流

* Update bot_check.yml

* 修复依赖问题

* 修复戳一戳自检鉴权

* 🚨 auto fix by pre-commit hooks

* 优化工作流执行顺序

* 更新插件测试

* 更新插件商店

* 🚨 auto fix by pre-commit hooks

* Update bot_check.yml

* Update bot_check.yml

* Update bot_check.yml

* 请求 @ThelevenFD 修复测试

* 🚨 auto fix by pre-commit hooks

* Update zhenxun/builtin_plugins/plugin_store/data_source.py

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* 修复代码过长的问题

* 🚨 auto fix by pre-commit hooks

* 同步check.py

* Update test_check.py

* 🚨 auto fix by pre-commit hooks

---------

Co-authored-by: ThelevenFD <104363913+ThelevenFD@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2024-12-19 09:15:39 +08:00
ThelevenFDandpre-commit-ci[bot] ccf043d670 修复戳一戳自检鉴权 (#1780)
* 修复戳一戳自检鉴权

* 🚨 auto fix by pre-commit hooks

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-18 08:49:16 +08:00
molanp 91352e4f3a 修复bot-check工作流 (#1777) 2024-12-17 01:29:11 +08:00
HibiKier 5956ec1148 ♻️ 重构群欢迎消息插件,支持多条消息随机发送 (#1768) (#1774) 2024-12-16 22:56:17 +08:00
ThelevenFD cf29fbcf74 新增戳一戳自检 (#1773)
* Update Check

增加戳一戳获取自检

* 新增获取自检状态方法

* 可和戳一戳同时触发

* 增加配置项
2024-12-16 22:55:12 +08:00
AkashiCoin b47c4be25d 🎉 chore(version): Update version to v0.2.4-e363d29 (#1759) 2024-12-15 16:18:11 +08:00
HibiKier e363d29b3b 🐛 优化Bot管理插件,更新使用说明及代码结构 (#1767) 2024-12-13 15:31:18 +08:00
BalconyJH b010eac041 chore/cleanup-dependencies (#1763)
* ➖ 移除opencv-python, aiohttp依赖,更新poetry.source配置格式

* 💚 更新pre-commit配置文件

* 🚨 移除无用导入
2024-12-13 15:00:56 +08:00
BalconyJHandfanyinrumeng b6964a92fa 分阶段构建Docker镜像,精简生成镜像体积 (#1752) (#1764)
* 🚀 更新Dockerfile (#1752)

* 🙈 忽略文件夹

* 👷 更新 Dockerfile

---------

Co-authored-by: fanyinrumeng <42991257+fanyinrumeng@users.noreply.github.com>
2024-12-13 02:07:29 +08:00
HibiKier 9afb9d343b Bugfix/fix create user a (#1766)
* 🐛 群组用户信息批量报错时使用逐个创建

* 💬 添加报错用户信息
2024-12-12 16:42:10 +08:00
HibiKier a421902bc7 🐛 BotConsole添加迁移sql (#1765) 2024-12-12 16:25:32 +08:00
HibiKier bd363a576b 🐛 修复webui-api路径导入 2024-12-11 17:20:25 +08:00
cdcca6e761 Feature/buildimage.pic2bytes gif support (#1761)
Co-authored-by: unknownsno <110149501+unknownsno@users.noreply.github.com>
Co-authored-by: BalconyJH <73932916+BalconyJH@users.noreply.github.com>
2024-12-11 10:40:05 +08:00
BalconyJH 64b5316570 🐛 fix bot console init (#1760) 2024-12-11 09:31:51 +08:00
HibiKierandBalconyJH 5590445679 添加Bot管理插件 (#1758)
Co-authored-by: BalconyJH <73932916+BalconyJH@users.noreply.github.com>
2024-12-10 20:16:14 +08:00
BalconyJH bc5a9c4fcc Develop: 完全使用 ruff 替代 isort 与 black (#1757)
* 🚨 完全使用 ruff 替代 isort 与 black

* 🚨 ruff lint&format
2024-12-10 19:49:11 +08:00
HibiKier 28dd15a950 🎨 添加首席设计师 (#1756) 2024-12-09 21:27:41 +08:00
AkashiCoin 92d3a4fa86 🎉 chore(version): Update version to v0.2.4-c7c759f (#1750) 2024-11-29 10:02:52 +08:00
HibiKier c7c759f2b1 ✨ 插件配置新增is_show控制是否显示在菜单中 (#1749) 2024-11-29 10:01:50 +08:00
AkashiCoin d00412e7fb 🎉 chore(version): Update version to v0.2.4-900cf6f (#1747) 2024-11-29 09:54:31 +08:00
HibiKier 900cf6fa53 🎨 对zhenxun版本帮助进行排序优化页面效果 (#1748) 2024-11-28 23:02:12 +08:00
HibiKier 584026c23c ⬆️ 提高pil依赖版本 (#1746) 2024-11-28 20:20:23 +08:00
AkashiCoin c51fdc5c67 🎉 chore(version): Update version to v0.2.4-6e74065 (#1745) 2024-11-27 10:39:05 +08:00
HibiKier 6e740657b6 ⚡️ 减少插件限制查询次数 (#1743) 2024-11-26 19:29:32 +08:00
AkashiCoin 9449316a14 🎉 chore(version): Update version to v0.2.4-dd39a2a (#1742) 2024-11-25 03:12:41 +08:00
HibiKier dd39a2ac2e 🔊 添加更多debug日志 2024-11-24 18:00:51 +08:00
HibiKier 3b1a399d5f ✨ 添加小真寻的口癖配置 (#1738) 2024-11-23 21:37:00 +08:00
HibiKier 5c0171767c 🐛 修复插件限制加载显示 2024-11-23 14:49:53 +08:00
HibiKier dd58a4eb3a 🔥 移除过期原神日历文件 2024-11-22 17:02:14 +08:00
HibiKier a767ad6a51 🎨 message-build判断优化 2024-11-22 16:58:14 +08:00
HibiKier f1b2ed6350 🧑‍💻 message-build支持图片base64以及url 2024-11-22 16:56:54 +08:00
HibiKier 857999db07 🎨 重启代码结构优化 (#1737) 2024-11-22 10:27:10 +08:00
HibiKier 4e4b4590c4 🎨 排行榜代码优化与修改版本 2024-11-22 10:05:54 +08:00
BalconyJH ee6170cd1b Document/add conduct and contributing (#1736)
* 📝 添加贡献者指南

* 📝 添加贡献者公约
2024-11-22 08:33:46 +08:00
HibiKier af8f58b61e 🎨 优化工具类代码 2024-11-21 15:10:07 +08:00
HibiKier 03d8b3aafd 🐛 允许超级用户撤回任意消息 2024-11-20 09:17:57 +08:00
HibiKier d23602ac56 ✨ webui和数据库页面和查询所有表支持mysql和sqlite (#1732) 2024-11-18 11:06:13 +08:00
HibiKier ee01e1095d ✨ 进群欢迎/退群提醒被动默认关闭 (#1731) 2024-11-17 14:33:24 +08:00
HibiKier 5e4a414861 ✨ 早晚安被动默认关闭 (#1730) 2024-11-17 14:22:16 +08:00
BalconyJH 5899b8cfdb 📝 使用 issue 表单替换 issue 模板 (#1727) 2024-11-17 06:49:23 +08:00
HibiKier ae5df38c21 🐛 修复图片模板方法 2024-11-16 17:59:15 +08:00
HibiKier 545f6fd7f9 🎨 入群检测代码优化 2024-11-14 18:56:53 +08:00
HibiKier 4c7c223b2c 🐛 修复我的信息at用户时头像不正确 2024-11-14 15:27:17 +08:00
HibiKier 14b983cfa0 💬 修改md 2024-11-09 13:53:38 +08:00
HibiKier 229908207b 💬 更新md 2024-11-09 13:53:16 +08:00
HibiKier cfe7dfd6b5 💬 修改md 2024-11-08 21:00:48 +08:00
HibiKier b2da0a902d 🎨 playwright添加cookie参数 2024-11-07 13:38:20 +08:00
HibiKier 3f06131c34 💬 修改md 2024-11-07 00:29:31 +08:00
HibiKier 24f1a1ca9a 💬 修改测试url 2024-11-07 00:28:41 +08:00
HibiKier 54a74cdd91 🎨 更新md 2024-11-05 20:45:11 +08:00
HibiKier 7ca4c18e1c 🎨 修改md 2024-11-05 15:54:53 +08:00
HibiKier a2b7980ae2 💬 修改版本号 2024-11-05 15:51:19 +08:00
HibiKier e75a56fe08 🐛 修复自定义pixiv反向代理无法对涩图生效 2024-11-05 15:47:59 +08:00
HibiKier abd8b9b705 ✨ 添加用户消息撤回命令 (#1719) 2024-11-05 15:34:45 +08:00
HibiKier 54d2ba1df4 🐛 修复邀请群组强制退出 2024-11-05 14:47:07 +08:00
HibiKier dbfeeac313 Merge branch 'dev' of https://github.com/HibiKier/zhenxun_bot into dev 2024-10-29 08:27:02 +08:00
HibiKier 93316be5fe 🎨 工具代码优化 2024-10-29 08:26:41 +08:00
AkashiCoin 60b78a9f1c 🎉 chore(version): Update version to v0.2.4-6359ba6 (#1692) 2024-10-28 09:41:35 +08:00
HibiKier 6359ba63f9 💬 更新权限检查日志提示 2024-10-24 16:27:37 +08:00
HibiKier 2853a2feaa ✨ ban限制依赖类型插件 2024-10-24 11:09:01 +08:00
HibiKier c9b864ca54 🐛 修复合并转发在bytes传输下图片丢失 2024-10-23 15:21:53 +08:00
梦璃雨落 6519b1cad4 🐞 fix: 更新货物未找到异常的信息处理方式 (#1713) 2024-10-23 13:19:47 +08:00
HibiKier ebf3df046a 🎨 修改版本号 2024-10-22 10:40:00 +08:00
HibiKier b6611d6d0e 🐛 修复admin_check 2024-10-22 10:38:40 +08:00
HibiKier 23ea21380a 🐛 导入修复 2024-10-22 09:29:11 +08:00
梦璃雨落 54a93a2f54 🎈 perf(image_utils): 在image_utils中禁用代理下载 (#1710)
* 🎈 perf(image_utils): 在image_utils中禁用代理下载

get_download_image_hash使用场景是访问腾讯服务器获取图片,无需走代理

* ✨ Add optional proxy support to image hash download function
2024-10-21 23:49:32 +08:00
HibiKier 05f954eb8b ✨ 指定bot的功能管理 (#1706) 2024-10-21 19:07:35 +08:00
HibiKier 27d4630874 ✨ 修改版本 2024-10-20 19:24:47 +08:00
HibiKier 7ac2ff92c4 ✨ 本地引入echart.js 2024-10-20 13:34:47 +08:00
HibiKier 92b0c6b4bf 🎨 http_utils代码优化 2024-10-19 23:02:05 +08:00
HibiKier 75e10fe38a 🎨 修改早安时间 2024-10-19 18:12:35 +08:00
HibiKier 6dfebaae96 🎨 帮助界面优化 2024-10-19 01:26:30 +08:00
HibiKier 3ffe213652 🐛 修复签到金币排行bug以及添加官bot监控 2024-10-19 00:36:19 +08:00
HibiKier c9aa568767 ✨ 可以通过Bot判断是否为官bot 2024-10-18 23:13:16 +08:00
HibiKier 3d3a2a5f7f ✨ 部分功能适配QQ BOT (#1701) 2024-10-18 18:57:55 +08:00
HibiKier 7567bfb732 🐛 修复插件限制加载 2024-10-16 17:29:21 +08:00
HibiKier f0f0e94a9c 🎨 引用uninfo 2024-10-16 17:18:30 +08:00
HibiKier 41b0dac223 🐛 修复群组权限刷新 (#1700) 2024-10-16 13:29:44 +08:00
HibiKier 792bcaa711 ✨ 添加获取nb配置api 2024-10-16 12:58:01 +08:00
HibiKier fe1634eb2d 🎨 代码优化 (#1698) 2024-10-15 03:44:30 +08:00
HibiKier 4a52c4825b 🐛 修复webui接口 2024-10-14 22:24:47 +08:00
HibiKier 6358ce5266 🐛 修复webui好友数量显示和登录次数 2024-10-14 22:17:05 +08:00
HibiKier e98af0ac21 Merge branch 'dev' of https://github.com/HibiKier/zhenxun_bot into dev 2024-10-14 22:11:39 +08:00
HibiKier 48a48204f3 🐛 包优化 2024-10-14 11:00:39 +08:00
HibiKier 6f313986df 🎨 生成lock 2024-10-14 10:06:38 +08:00
HibiKier 3856ba09bb 🐛 功能调用统计只统计已加载的插件 2024-10-13 01:07:19 +08:00
HibiKier f982d862ee 🎨 添加分支 2024-10-12 22:44:08 +08:00
HibiKier c76566c2df 🔥 移除旧资源文件夹 2024-10-12 14:06:12 +08:00
HibiKier e7fffa3ef4 🔥 移除dinggong语音文件夹 2024-10-12 14:02:45 +08:00
HibiKier f7b28127e9 🐛 修复功能调用统计空白 (#1694) 2024-10-12 11:03:24 +08:00
AkashiCoin 7ea11a884b 🐳 chore: 补全release draft文件 (#1693) 2024-10-11 21:47:06 +08:00
AkashiCoin faa0785fa1 🐳 chore(update_version): 支持选择性的更新版本 (#1691)
* 🐳 chore(update_version): 支持选择性的更新版本

* 🐳 chore: 替换邮箱格式
2024-10-11 16:18:42 +08:00
HibiKier 9e5266a491 ✨ 使用uninfo进行群组成员更新 (#1690) 2024-10-10 23:25:46 +08:00
HibiKierandHibiKier 2f459719e8 🐛 修改禁用module (#1688)
* 🐛 修改禁用module

* chore(version): Update version to v0.2.3-4cde662

---------

Co-authored-by: HibiKier <HibiKier@users.noreply.github.com>
2024-10-09 17:45:53 +08:00
HibiKierandHibiKier 5f92efa658 🐛 webui 添加bot详情参数 (#1686)
* 🐛 webui 添加bot详情参数

* chore(version): Update version to v0.2.3-ba3a9f1

---------

Co-authored-by: HibiKier <HibiKier@users.noreply.github.com>
2024-10-07 15:37:55 +08:00
HibiKier 856976526f 🎨 修改限制配置文件key (#1685) 2024-10-06 18:16:35 +08:00
HibiKier 6852363a03 🐛 修复导入问题 (#1684) 2024-10-06 01:19:24 +08:00
HibiKier 862427a872 🎨 webui群组代码优化 (#1683) 2024-10-06 01:05:37 +08:00
HibiKierandHibiKier fd90e1ab82 🎨 notice响应期添加rule (#1682)
* 🎨 notice响应期添加rule

* chore(version): Update version to v0.2.3-f3e5c9e

---------

Co-authored-by: HibiKier <HibiKier@users.noreply.github.com>
2024-10-05 22:37:30 +08:00
HibiKier 3117dc264f ✨ unban支持使用id (#1681) 2024-10-05 19:07:18 +08:00
HibiKierandHibiKier a28a60d9c8 🎨 功能开关代码优化 (#1680)
* 🎨 功能开关代码优化

* chore(version): Update version to v0.2.3-5f361ff

---------

Co-authored-by: HibiKier <HibiKier@users.noreply.github.com>
2024-10-05 18:02:53 +08:00
HibiKier f0063283e7 🐛 优化功能开关管理 (#1679) 2024-10-05 16:45:02 +08:00
AkashiCoin 84680aa88d 🐳 chore(release_drafter): 支持release-drafter (#1672)
* 🐳 chore(release_drafter): 支持release-drafter

* 🐛 fix: 修复依赖字段
2024-10-05 16:37:29 +08:00
HibiKier bd50e17c58 🐛 修复调用统计异常 (#1674) 2024-10-04 00:14:36 +08:00
HibiKier f08114f6c5 ✨ 提供新webui api (#1673) 2024-10-03 23:56:17 +08:00
42b6e94564 ✨ 更新插件商店功能,支持通过模块名操作插件(#1670)
* 更新插件商店功能,支持通过模块名操作插件

- 扩展插件添加、移除和更新功能,支持使用插件ID或模块名
- 增加更新全部插件的功能
- 优化插件商店的命令使用说明
- 修复了一些与插件模块名相关的逻辑问题

* 优化插件更新和加载机制,提供测试函数

- 修复了插件更新函数中的条件判断逻辑

* 优化插件更新通知的格式

调整了插件更新通知的文本格式,去掉了多余的换行符,使消息内容更加紧凑和清晰。

* 更新测试用例中的消息格式,将插件更新通知中的空格改为换行符

* 移除版本号更新

* 重构插件管理器的数据源解析逻辑

- 将插件ID和模块名的检查逻辑移至单独的私有方法 _resolve_plugin_key
- 简化了 get_info 和 update_plugin 方法中的逻辑
- 提高了代码的可读性和可维护性

* 优化插件商店数据源类的插件查询逻辑

简化了ShopManage类中查询插件信息的逻辑。通过新增的_resolve_plugin_key类方法来解析插件ID或模块名,如果解析失败则捕获ValueError异常并返回错误信息。这样可以更清晰地处理插件查询逻辑,并避免冗余代码。

* 移除更新全部插件日志中的f-string

更新全部插件功能中,移除了日志记录中的f-string,简化了日志消息的格式。这个更改可能是为了统一日志记录的风格或者减少不必要的字符串格式化操作。

* Revert "移除版本号更新"

This reverts commit 2bcaa6f12e.

---------

Co-authored-by: molanp <molanp@users.noreply.github.com>
Co-authored-by: HibiKier <45528451+HibiKier@users.noreply.github.com>
Co-authored-by: AkashiCoin <l1040186796@gmail.com>
2024-10-02 18:32:21 +08:00
AkashiCoinandAkashiCoin d3a4a5bbf7 🐛 fix(github_utils): 修复路径解析问题 (#1668)
* 🐛 fix(github_utils): 修复路径解析问题

* chore(version): Update version to v0.2.3-a39d7a3

---------

Co-authored-by: AkashiCoin <AkashiCoin@users.noreply.github.com>
2024-10-02 12:54:12 +08:00
HibiKier 482eb1a214 🎨 修改requirements (#1665) 2024-10-01 00:29:29 +08:00
HibiKier 94e05944fd 🎨 修改版本号 (#1664) 2024-10-01 00:24:45 +08:00
HibiKier 2c8c46d6b1 🎨 修改README (#1663) 2024-10-01 00:17:14 +08:00
HibiKier 717a973807 ✨ 将cd,block,count限制复原配置文件 (#1662) 2024-10-01 00:05:43 +08:00
HibiKierandHibiKier d68a4099ba ✨ 新增插件商店api (#1659)
* ✨ 新增插件商店api

* chore(version): Update version to v0.2.2-7e15f20

---------

Co-authored-by: HibiKier <HibiKier@users.noreply.github.com>
2024-09-29 20:47:58 +08:00
HibiKier e8425f371c ✨ 修改个人信息菜单名称 (#1658) 2024-09-29 17:06:17 +08:00
HibiKier a3311adebb ✨ 新增个人信息命令 (#1657) 2024-09-29 17:00:31 +08:00
HibiKier 28b61e57cd ✨ 新增超级用户与管理员帮助模板 (#1655) 2024-09-27 16:59:41 +08:00
HibiKier 7890cc577f ✨ 安装/移除插件提供插件安装/卸载方法用于插件初始化 (#1654) 2024-09-27 10:29:59 +08:00
HibiKier b14220e6e3 ✨ 移除默认图片文件夹:爬 (#1653) 2024-09-27 10:27:01 +08:00
HibiKierandHibiKier 7ec1bc9fac 🐛 修复webui下载后首次启动错误 (#1652)
* 🐛 修复webui下载后首次启动错误

* chore(version): Update version to v0.2.2-4a8ef85

---------

Co-authored-by: HibiKier <HibiKier@users.noreply.github.com>
2024-09-25 19:41:45 +08:00
HibiKier e89d1d4688 🐛 修复群欢迎消息设置 (#1651) 2024-09-25 19:04:36 +08:00
HibiKier 6be9e477b1 🐛 修复群组中帮助功能状态显示问题 (#1650) 2024-09-25 18:29:01 +08:00
AkashiCoin 207f947a1c 🐛 fix(http_utils): 流式下载Content-Length错误 (#1647) 2024-09-22 17:12:21 +08:00
HibiKier 32c11b9919 🎨 更新README (#1645) 2024-09-21 23:36:17 +08:00
HibiKier 3fc4eaa39a 🐛 签到名称自适应 (#1644) 2024-09-21 23:08:48 +08:00
HibiKier a04475abc1 ✨ 重构qq群事件处理 (#1643) 2024-09-21 23:07:00 +08:00
AkashiCoin 38976589ec 🐳 chore: 修改运行检查触发路径 (#1642)
* 🐳 chore: 修改运行检查触发路径

* 🐳 chore: 添加tests目录
2024-09-21 18:01:45 +08:00
AkashiCoinandAkashiCoin f2c20b84bf 🎈 perf: 使用commit号下载插件 (#1641)
* 🎈 perf: 使用commit号下载插件

* chore(version): Update version to v0.2.2-f9c7360

---------

Co-authored-by: AkashiCoin <AkashiCoin@users.noreply.github.com>
2024-09-21 17:38:37 +08:00
HibiKier 983248374d ✨ message_build支持AtAll (#1639) 2024-09-19 20:25:45 +08:00
HibiKier 6f635ed978 🐛 修复群权限与插件等级匹配 (#1635) 2024-09-16 21:18:42 +08:00
HibiKier fcfaf56021 🐛 修复商店商品为空时报错 (#1634) 2024-09-16 21:17:09 +08:00
AkashiCoin 60f4406ec1 🧪 test(auto_update): 修复测试用例 (#1633) 2024-09-16 20:29:46 +08:00
AkashiCoinandAkashiCoin 51c010daa8 🎈 perf(github_utils): 支持github url下载遍历 (#1632)
* 🎈 perf(github_utils): 支持github url下载遍历

* 🐞 fix(http_utils): 修复一些下载问题

* 🦄 refactor(http_utils): 部分重构

* chore(version): Update version to v0.2.2-e6f17c4

---------

Co-authored-by: AkashiCoin <AkashiCoin@users.noreply.github.com>
2024-09-16 20:08:42 +08:00
AkashiCoin cd88d805ce 🐳 chore: 支持自动修改版本号 (#1629) 2024-09-16 19:13:20 +08:00
HibiKier e41e16370e ✨ 群组发言时间检测提供开关配置 (#1630) 2024-09-14 19:17:40 +08:00
HibiKier f2e354edeb ✨ 当管理员尝试ban真寻时将被反杀 (#1628) 2024-09-14 16:29:27 +08:00
HibiKier f1354c6264 🐛 修复群权限与插件等级匹配 (#1627) 2024-09-14 14:23:19 +08:00
HibiKier 029a731fb9 ✨ 重构帮助,限制普通用户查询管理插件 (#1626) 2024-09-14 05:23:55 +08:00
AkashiCoin d97e437e80 🎈 优先使用github api (#1625) 2024-09-13 20:41:33 +08:00
HibiKier 8a688eb4f0 🐛 好感度排行提供默认值 (#1624) 2024-09-12 22:15:04 +08:00
HibiKier 94ef33264b 🐛 签到文本适应 (#1622) 2024-09-11 12:53:12 +08:00
HibiKier a8355fbab9 🐛 修复功能少时zhenxun帮助图片排序问题 (#1620) 2024-09-11 11:53:49 +08:00
HibiKier 95762bdddd 🐛 修复路径解压与挂载 (#1619) 2024-09-10 20:17:09 +08:00
HibiKier 4e42d1dda1 🐛 修复超级用户id获取问题 2024-09-09 23:01:15 +08:00
HibiKier e4a92ea34b ✨ 签到/金币排行限制最大数量 (#1616)
* ✨ 签到/金币排行限制最大数量
2024-09-09 22:47:23 +08:00
AkashiCoin f11e9c58e4 🔨 提取GitHub相关操作 (#1609)
* 🔨 提取GitHub相关操作

* 🔨 重构API策略
2024-09-08 12:38:30 +08:00
AkashiCoinandHibiKier 342e70cc38 📝 修改README
Co-Authored-By: HibiKier <45528451+HibiKier@users.noreply.github.com>
2024-09-08 11:34:26 +08:00
AkashiCoinandHibiKier 440e7b54a5 ✨ 添加金币排行
Co-Authored-By: HibiKier <45528451+HibiKier@users.noreply.github.com>
2024-09-08 11:33:19 +08:00
AkashiCoin fe11ff0772 🔧 VSCode配置修改 2024-09-07 17:51:03 +08:00
AkashiCoin 2b006b8f5e 🔧 VSCode配置修改 2024-09-07 17:11:01 +08:00
HibiKier 1790a0b09e ✨提供sqlite和mysql连接url示例 2024-09-07 17:10:08 +08:00
HibiKier 057001f0bd ✨ 支持mysql,psql,sqlite随机函数 2024-09-07 16:46:56 +08:00
AkashiCoin e618b19283 🐛 修复自检在ARM上的问题 (#1607)
* 🐛 修复自检在ARM上的问题

* ✅ 优化测试
2024-09-07 16:17:29 +08:00
HibiKier 62fd93c1ff 🐛 过滤父插件 2024-09-07 13:54:25 +08:00
HibiKier 807b2f6504 🐛 私聊时修改插件时删除私聊帮助 2024-09-07 13:16:41 +08:00
HibiKier 0a5ab83ffe 🎨 代码结构优化 2024-09-07 12:46:25 +08:00
ElagaandHibiKier 3f4787d4c6 修复签到逻辑bug,并使代码更灵活以适应签到好感度等级配置 (#1606)
* 修复签到功能已知问题

* 修复签到功能已知问题

* 修改参数名称

* 修改uid判断

---------

Co-authored-by: HibiKier <45528451+HibiKier@users.noreply.github.com>
2024-09-07 12:35:39 +08:00
HibiKier db9153f42c 🐛 自检html修正 2024-09-07 01:50:24 +08:00
HibiKier 3b4c206a24 ✨ 重构自检ui 2024-09-07 01:25:42 +08:00
HibiKier 51371ba954 🐛 修复插件开关有时出现错误 2024-09-05 17:41:33 +08:00
HibiKier c36bb9771c 🎨 优化代码 2024-09-04 21:10:54 +08:00
AkashiCoin ce97dedc5f 🐛 文件下载逻辑修改 2024-09-03 17:13:31 +08:00
AkashiCoin 682d19aa2b 🎨 采取Sourcery建议 2024-09-03 16:52:11 +08:00
AkashiCoin c3927c7f2e ✨ 添加API缓存 2024-09-03 16:52:11 +08:00
AkashiCoin 8911bbfa21 🐛 修复测试用例 2024-09-03 16:52:11 +08:00
AkashiCoin 7288d5bdba ✨ 添加仓库目录多获取渠道 2024-09-03 16:52:11 +08:00
AkashiCoin 8615eb20d4 ⚡ 添加github镜像 2024-09-03 16:52:11 +08:00
AkashiCoin a61934650e ➕ 添加依赖aiocache 2024-09-03 16:52:11 +08:00
HibiKier a2549a0ae9 🎨 更新requirements 2024-09-03 11:03:30 +08:00
fanyinrumeng 405e2d3a4c 🚀 更新Dockerfile (#1599) 2024-09-02 23:12:27 +08:00
HibiKier 02aba68269 🎨 代码优化 2024-09-02 21:45:37 +08:00
HibiKier 8d071f853b 🐛 修复更新群组成员信息 2024-09-02 17:32:12 +08:00
AkashiCoin 44e0f2d410 🐛 增加插件状态检查 (#1598)
* ✅ 优化测试用例

* 🐛 更改插件更新与安装逻辑
2024-09-02 15:00:37 +08:00
AkashiCoin 9eca6a97ca 🐛 修复插件商店检查插件更新问题 (#1597)
* 🐛 修复插件商店检查插件更新问题

* 🐛 恶意命令检测问题
2024-09-02 12:00:27 +08:00
HibiKier a56d1f2bd8 🐛 修复超级用户对群组功能开关 2024-09-02 11:43:01 +08:00
HibiKier 133d4e193a 🐛 修改bug与版本锁定 2024-09-02 11:25:47 +08:00
HibiKier db75c4a433 Update README.md 2024-09-02 09:53:58 +08:00
HibiKier 15ad90da88 🎨 修改readme 2024-09-02 09:51:36 +08:00
AkashiCoin 29c48765ae 🐛修复添加插件返回403的问题 (#1595)
* 完善测试方法
* vscode测试配置
* 重构插件安装过程
2024-09-02 01:50:39 +08:00
HibiKier 8fe061738a 🐛 bug修复 2024-09-01 23:30:26 +08:00
AkashiCoin 7e7436f433 ✅ 添加测试:更新与添加插件 (#1594)
* ✅ 测试更新与添加插件

* ✅ Sourcery建议

* 👷 添加pytest

* 🎨 优化代码
2024-09-01 14:53:41 +08:00
HibiKier a3681216bd ✨ 父级插件加载 2024-08-30 23:50:45 +08:00
735 changed files with 30471 additions and 14943 deletions
+6 -1
View File
@@ -1,7 +1,11 @@
.devcontainer/
.github/
.vscode/
assets/
.idea/
.pytest_cache/
.ruff_cache/
.venv/
docs_image/
k8s/
tests/
.dockerignore
@@ -9,6 +13,7 @@ tests/
.gitignore
.pre-commit-config.yaml
.prettier*
.env.dev
docker-compose.yml
Dockerfile
LICENSE
+11 -2
View File
@@ -6,16 +6,25 @@ SESSION_RUNNING_EXPRESSION="别急呀,小真寻要宕机了!QAQ"
NICKNAME=["真寻", "小真寻", "绪山真寻", "小寻子"]
SESSION_EXPIRE_TIMEOUT=30
SESSION_EXPIRE_TIMEOUT=00:00:30
ALCONNA_USE_COMMAND_START=True
# 全局图片统一使用bytes发送,当真寻与协议端不在同一服务器上时为True
IMAGE_TO_BYTES = False
IMAGE_TO_BYTES = True
# 回复消息时自称
SELF_NICKNAME="小真寻"
# 官bot appid:bot账号
QBOT_ID_DATA = '{
}'
# 数据库配置
# 示例: "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 = ""
# 系统代理
+98
View File
@@ -0,0 +1,98 @@
name: Bug 反馈
title: "Bug: "
description: 提交 Bug 反馈以帮助我们改进代码
labels: [ "bug" ]
body:
- type: checkboxes
id: checklist
attributes:
label: 提交前检查项
description: 在提交问题之前,请确认以下事项:
options:
- label: 我已搜索相关的 issue,但没有找到类似的问题
required: true
- label: 我已更新到最新版本(包括但不限于真寻本体,插件以及相关依赖),问题仍然存在
required: true
- label: 我已仔细阅读文档,确认我的配置正确
required: true
- 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
View File
@@ -0,0 +1 @@
blank_issues_enabled: false
+18
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
@@ -0,0 +1,27 @@
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
- type: checkboxes
id: checklist
attributes:
label: 我有能力且愿意为这个功能贡献代码
options:
- label: 我有能力且愿意为这个功能贡献代码
-23
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错误...
+40
View File
@@ -0,0 +1,40 @@
name: Setup Python
description: Setup Python
inputs:
python-version:
description: Python version
required: false
default: "3.10"
env-dir:
description: Environment directory
required: false
default: "."
no-root:
description: Do not install package in the environment
required: false
default: "false"
runs:
using: "composite"
steps:
- name: Install poetry
run: pipx install poetry
shell: bash
- uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
cache: "poetry"
cache-dependency-path: |
./poetry.lock
${{ inputs.env-dir }}/poetry.lock
- run: |
cd ${{ inputs.env-dir }}
if [ "${{ inputs.no-root }}" = "true" ]; then
poetry install --all-extras --no-root
else
poetry install --all-extras
fi
shell: bash
+77
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
-9
View File
@@ -1,9 +0,0 @@
### 系统版本:Ubuntu 20.04
### 真寻版本:0.1.5.3
### 错误截图
[img]
### 错误说明
发生了xx错误...
+33 -5
View File
@@ -2,9 +2,19 @@ name: 检查bot是否运行正常
on:
push:
branches: ["dev", "main"]
branches: ["main"]
paths:
- zhenxun/**
- tests/**
- .github/workflows/bot_check.yml
- bot.py
pull_request:
branches: ["dev", "main"]
branches: ["main"]
paths:
- zhenxun/**
- tests/**
- .github/workflows/bot_check.yml
- bot.py
jobs:
bot-check:
@@ -28,7 +38,14 @@ jobs:
uses: actions/cache@v3
with:
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
uses: actions/cache@v3
@@ -40,9 +57,20 @@ jobs:
if: steps.cache-poetry.outputs.cache-hit != 'true'
run: |
rm -rf poetry.lock
poetry source remove ali
poetry source remove aliyun
poetry install --no-root
poetry run pip install pydantic==1.10
- name: Install playwright
if: steps.cache-playwright.outputs.cache-hit != 'true'
run: |
poetry run sudo apt-get update
poetry run sudo apt-get install -y libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav flite x264 libx264-dev
poetry run pip install playwright
poetry run playwright install-deps
poetry run playwright install
- name: Run tests
run: poetry run pytest --cov=zhenxun --cov-report xml
- name: Check bot run
id: bot_check_run
+94
View File
@@ -0,0 +1,94 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL Code Security Analysis"
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '45 21 * * 2'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
# only required for workflows in private repositories
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- language: python
build-mode: none
- language: javascript-typescript
build-mode: none
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
+11
View File
@@ -0,0 +1,11 @@
name: Sequential Lint and Type Check
on: [push, pull_request]
jobs:
ruff-call:
uses: ./.github/workflows/ruff.yml
pyright-call:
needs: ruff-call
uses: ./.github/workflows/pyright.yml
+55
View File
@@ -0,0 +1,55 @@
name: Pyright Lint
on:
workflow_call:
workflow_dispatch:
inputs:
python-version:
description: "Python version"
required: false
type: choice
options:
- "all"
- "3.10"
- "3.11"
- "3.12"
default: "all"
debug-mode:
description: "enable debug mode"
required: false
type: boolean
default: false
jobs:
pyright:
name: Pyright Lint
runs-on: ubuntu-latest
concurrency:
group: pyright-${{ github.ref }}-${{ matrix.env }}
cancel-in-progress: true
strategy:
matrix:
env: [pydantic-v1, pydantic-v2]
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Setup Python environment
uses: ./.github/actions/setup-python
with:
env-dir: ./envs/${{ matrix.env }}
no-root: true
- run: |
(cd ./envs/${{ matrix.env }} && echo "$(poetry env info --path)/bin" >> $GITHUB_PATH)
if [ "${{ matrix.env }}" = "pydantic-v1" ]; then
sed -i 's/PYDANTIC_V2 = true/PYDANTIC_V2 = false/g' ./pyproject.toml
fi
shell: bash
- name: Run Pyright Check
uses: jakebailey/pyright-action@v2
with:
pylance-version: latest-release
+18
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 }}
+20
View File
@@ -0,0 +1,20 @@
name: Ruff Lint
on:
workflow_call:
jobs:
ruff:
name: Ruff Lint
runs-on: ubuntu-latest
concurrency:
group: ruff-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Ruff
uses: astral-sh/ruff-action@v3
- name: Run Ruff Check
run: ruff check
+73
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 -28
View File
@@ -113,6 +113,7 @@ venv/
ENV/
env.bak/
venv.bak/
.env.dev
# Spyder project settings
.spyderproject
@@ -151,34 +152,9 @@ backup/
extensive_plugin/
test/
bot.py
data/
.env
.env.dev
/resources/text/
# /resources/image/
/resources/temp/
/resources/image/genshin/
/resources/image/draw_card/
/resources/image/card/
/resources/image/temp/
/resources/image/sign/today_card/
/resources/image/image_management/
/resources/image/bilibili_sub/
/resources/image/other/
/resources/image/_setu/
/resources/image/_r18/
/resources/image/csgo_cases/
!/resources/image/csgo_cases/_background/
/resources/image/superuser_help.png
/resources/image/update_img_help.png
/resources/image/prts/
.idea/
resources/
/configs/config.py
configs/config.yaml
./.env
./.env.dev
plugins/csgo_server/
plugins/activity/
!/resources/image/genshin/alc/back.png
!/data/genshin_alc/
.vscode/launch.json
/resources/template/my_info
plugins_/
+4
View File
@@ -0,0 +1,4 @@
MD013: false
MD024: # 重复标题
siblings_only: true
MD033: false # 允许 html
+8 -25
View File
@@ -1,33 +1,16 @@
default_install_hook_types: [pre-commit, prepare-commit-msg]
default_install_hook_types: [pre-commit]
ci:
autofix_commit_msg: ":rotating_light: auto fix by pre-commit hooks"
autofix_prs: true
autoupdate_branch: dev
autoupdate_schedule: weekly
autoupdate_branch: main
autoupdate_schedule: monthly
autoupdate_commit_msg: ":arrow_up: auto update by pre-commit hooks"
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.5.6
rev: v0.8.2
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
stages: [commit]
- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks:
- id: isort
stages: [commit]
- repo: https://github.com/psf/black
rev: 24.8.0
hooks:
- id: black
stages: [commit]
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
hooks:
- id: prettier
types_or: [javascript, jsx, ts, tsx, markdown, yaml, json]
stages: [commit]
args: [--fix]
stages: [pre-commit]
- id: ruff-format
stages: [pre-commit]
+8
View File
@@ -0,0 +1,8 @@
{
"recommendations": [
"charliermarsh.ruff",
"esbenp.prettier-vscode",
"ms-python.python",
"ms-python.vscode-pylance"
]
}
+34 -1
View File
@@ -13,17 +13,50 @@
"getbbox",
"hibiapi",
"httpx",
"jsdelivr",
"kaiheila",
"lolicon",
"Mahiro",
"nonebot",
"onebot",
"pixiv",
"qbot",
"Setu",
"tobytes",
"ujson",
"unban",
"Uninfo",
"userinfo",
"zhenxun"
],
"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",
"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
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
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) 联系我们。
再次感谢你的贡献!
+57 -9
View File
@@ -1,19 +1,67 @@
FROM python:3.11-slim-bookworm
FROM python:3.11-bookworm AS requirements-stage
EXPOSE 8080
WORKDIR /tmp
ENV POETRY_HOME="/opt/poetry" PATH="${PATH}:/opt/poetry/bin"
RUN curl -sSL https://install.python-poetry.org | python - -y && \
poetry self add poetry-plugin-export
COPY ./pyproject.toml ./poetry.lock* /tmp/
RUN poetry export \
-f requirements.txt \
--output requirements.txt \
--without-hashes \
--without-urls
FROM python:3.11-bookworm AS build-stage
WORKDIR /wheel
COPY --from=requirements-stage /tmp/requirements.txt /wheel/requirements.txt
# RUN python3 -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
RUN pip wheel --wheel-dir=/wheel --no-cache-dir --requirement /wheel/requirements.txt
FROM python:3.11-bookworm AS metadata-stage
WORKDIR /tmp
RUN --mount=type=bind,source=./.git/,target=/tmp/.git/ \
git describe --tags --exact-match > /tmp/VERSION 2>/dev/null \
|| git rev-parse --short HEAD > /tmp/VERSION \
&& echo "Building version: $(cat /tmp/VERSION)"
FROM python:3.11-slim-bookworm
WORKDIR /app/zhenxun
COPY . /app/zhenxun
ENV TZ=Asia/Shanghai PYTHONUNBUFFERED=1
#COPY ./scripts/docker/start.sh /start.sh
#RUN chmod +x /start.sh
RUN pip install poetry -i https://mirrors.aliyun.com/pypi/simple/
EXPOSE 8080
RUN poetry install
RUN apt update && \
apt install -y --no-install-recommends curl fontconfig fonts-noto-color-emoji \
&& apt clean \
&& fc-cache -fv \
&& apt-get purge -y --auto-remove curl \
&& rm -rf /var/lib/apt/lists/*
VOLUME /app/zhenxun/data /app/zhenxun/data
# 复制依赖项和应用代码
COPY --from=build-stage /wheel /wheel
COPY . .
VOLUME /app/zhenxun/resources /app/zhenxun/resources
RUN pip install --no-cache-dir --no-index --find-links=/wheel -r /wheel/requirements.txt && rm -rf /wheel
RUN poetry run playwright install --with-deps chromium
RUN playwright install --with-deps chromium \
&& rm -rf /var/lib/apt/lists/* /tmp/*
CMD ["poetry", "run", "python", "bot.py"]
COPY --from=metadata-stage /tmp/VERSION /app/VERSION
VOLUME ["/app/zhenxun/data", "/app/zhenxun/resources", "/app/zhenxun/log"]
CMD ["python", "bot.py"]
+246 -726
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
__version__: v0.2.2
__version__: v0.2.4-2c97eea
+5 -5
View File
@@ -1,20 +1,20 @@
import nonebot
# from nonebot.adapters.discord import Adapter as DiscordAdapter
from nonebot.adapters.dodo import Adapter as DoDoAdapter
from nonebot.adapters.kaiheila import Adapter as KaiheilaAdapter
# from nonebot.adapters.dodo import Adapter as DoDoAdapter
# from nonebot.adapters.kaiheila import Adapter as KaiheilaAdapter
from nonebot.adapters.onebot.v11 import Adapter as OneBotV11Adapter
nonebot.init()
from zhenxun.services.db_context import disconnect, init
driver = nonebot.get_driver()
driver.register_adapter(OneBotV11Adapter)
driver.register_adapter(KaiheilaAdapter)
driver.register_adapter(DoDoAdapter)
# driver.register_adapter(KaiheilaAdapter)
# driver.register_adapter(DoDoAdapter)
# driver.register_adapter(DiscordAdapter)
from zhenxun.services.db_context import disconnect, init
driver.on_startup(init)
driver.on_shutdown(disconnect)
-66
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": ["要角没有!要命一条!"]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 917 KiB

+4811
View File
File diff suppressed because it is too large Load Diff
+140
View File
@@ -0,0 +1,140 @@
[tool.poetry]
name = "zhenxun_bot"
version = "0.2.4"
description = "基于 Nonebot2 和 go-cqhttp 开发,以 postgresql 作为数据库,非常可爱的绪山真寻bot"
authors = ["HibiKier <775757368@qq.com>"]
license = "AGPL"
package-mode = false
[[tool.poetry.source]]
name = "aliyun"
url = "https://mirrors.aliyun.com/pypi/simple/"
priority = "primary"
[tool.poetry.dependencies]
python = "^3.10"
playwright = "^1.41.1"
nonebot-adapter-onebot = "^2.3.1"
nonebot-plugin-apscheduler = "^0.5"
tortoise-orm = { extras = ["asyncpg"], version = "^0.20.0" }
cattrs = "^23.2.3"
ruamel-yaml = "^0.18.5"
strenum = "^0.4.15"
nonebot-plugin-session = "^0.2.3"
ujson = "^5.9.0"
nb-cli = "^1.3.0"
nonebot2 = { extras = ["fastapi"], version = "^2.3.3" }
pillow = "^10.0.0"
retrying = "^1.3.4"
aiofiles = "^23.2.1"
nonebot-plugin-htmlrender = ">=0.6.0,<1.0.0"
pypinyin = "^0.51.0"
beautifulsoup4 = "^4.12.3"
lxml = "^5.1.0"
psutil = "^5.9.8"
feedparser = "^6.0.11"
imagehash = "^4.3.1"
cn2an = "^0.5.22"
dateparser = "^1.2.0"
bilireq = "0.2.3post0"
python-jose = { extras = ["cryptography"], version = "^3.3.0" }
python-multipart = "^0.0.9"
aiocache = "^0.12.2"
py-cpuinfo = "^9.0.0"
nonebot-plugin-alconna = "^0.54.0"
tenacity = "^9.0.0"
nonebot-plugin-uninfo = ">0.4.1"
pydantic = "1.10.18"
[tool.poetry.group.dev.dependencies]
nonebug = "^0.4"
pytest-cov = "^5.0.0"
pytest-mock = "^3.6.1"
pytest-asyncio = "^0.25"
pytest-xdist = "^3.3.1"
respx = "^0.21.1"
ruff = "^0.8.0"
pre-commit = "^4.0.0"
[tool.nonebot]
plugins = [
"nonebot_plugin_apscheduler",
"nonebot_plugin_session",
"nonebot_plugin_htmlrender",
"nonebot_plugin_alconna",
]
plugin_dirs = ["zhenxun/services", "zhenxun/builtin_plugins", "zhenxun/plugins"]
adapters = [
{ name = "OneBot V11", module_name = "nonebot.adapters.onebot.v11" },
# { name = "DoDo", module_name = "nonebot.adapters.dodo" },
# { name = "开黑啦", module_name = "nonebot.adapters.kaiheila" },
]
[tool.ruff]
line-length = 88
target-version = "py310"
[tool.ruff.format]
line-ending = "lf"
[tool.ruff.lint]
select = [
"F", # Pyflakes
"W", # pycodestyle warnings
"E", # pycodestyle errors
"I", # isort
"UP", # pyupgrade
"ASYNC", # flake8-async
"C4", # flake8-comprehensions
"T10", # flake8-debugger
"T20", # flake8-print
"PYI", # flake8-pyi
"PT", # flake8-pytest-style
"Q", # flake8-quotes
"TID", # flake8-tidy-imports
"RUF", # Ruff-specific rules
]
ignore = [
"E402", # module-import-not-at-top-of-file
"UP037", # quoted-annotation
"RUF001", # ambiguous-unicode-character-string
"RUF002", # ambiguous-unicode-character-docstring
"RUF003", # ambiguous-unicode-character-comment
"TID252", # relative-imports
]
[tool.ruff.lint.isort]
force-sort-within-sections = true
known-first-party = ["zhenxun", "tests/*"]
extra-standard-library = ["typing_extensions"]
[tool.ruff.lint.flake8-pytest-style]
fixture-parentheses = false
mark-parentheses = false
[tool.ruff.lint.pyupgrade]
keep-runtime-typing = true
[tool.pyright]
pythonVersion = "3.10"
pythonPlatform = "All"
defineConstant = { PYDANTIC_V2 = true }
executionEnvironments = [
{ root = "./tests", extraPaths = [
"./",
] },
{ root = "./" },
]
typeCheckingMode = "standard"
reportShadowedImports = false
disableBytesTypePromotions = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "session"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
+4905
View File
File diff suppressed because it is too large Load Diff
+140
View File
@@ -0,0 +1,140 @@
[tool.poetry]
name = "zhenxun_bot"
version = "0.2.4"
description = "基于 Nonebot2 和 go-cqhttp 开发,以 postgresql 作为数据库,非常可爱的绪山真寻bot"
authors = ["HibiKier <775757368@qq.com>"]
license = "AGPL"
package-mode = false
[[tool.poetry.source]]
name = "aliyun"
url = "https://mirrors.aliyun.com/pypi/simple/"
priority = "primary"
[tool.poetry.dependencies]
python = "^3.10"
playwright = "^1.41.1"
nonebot-adapter-onebot = "^2.3.1"
nonebot-plugin-apscheduler = "^0.5"
tortoise-orm = { extras = ["asyncpg"], version = "^0.20.0" }
cattrs = "^23.2.3"
ruamel-yaml = "^0.18.5"
strenum = "^0.4.15"
nonebot-plugin-session = "^0.2.3"
ujson = "^5.9.0"
nb-cli = "^1.3.0"
nonebot2 = { extras = ["fastapi"], version = "^2.3.3" }
pillow = "^10.0.0"
retrying = "^1.3.4"
aiofiles = "^23.2.1"
nonebot-plugin-htmlrender = ">=0.6.0,<1.0.0"
pypinyin = "^0.51.0"
beautifulsoup4 = "^4.12.3"
lxml = "^5.1.0"
psutil = "^5.9.8"
feedparser = "^6.0.11"
imagehash = "^4.3.1"
cn2an = "^0.5.22"
dateparser = "^1.2.0"
bilireq = "0.2.3post0"
python-jose = { extras = ["cryptography"], version = "^3.3.0" }
python-multipart = "^0.0.9"
aiocache = "^0.12.2"
py-cpuinfo = "^9.0.0"
nonebot-plugin-alconna = "^0.54.0"
tenacity = "^9.0.0"
nonebot-plugin-uninfo = ">0.4.1"
pydantic = "2.10.6"
[tool.poetry.group.dev.dependencies]
nonebug = "^0.4"
pytest-cov = "^5.0.0"
pytest-mock = "^3.6.1"
pytest-asyncio = "^0.25"
pytest-xdist = "^3.3.1"
respx = "^0.21.1"
ruff = "^0.8.0"
pre-commit = "^4.0.0"
[tool.nonebot]
plugins = [
"nonebot_plugin_apscheduler",
"nonebot_plugin_session",
"nonebot_plugin_htmlrender",
"nonebot_plugin_alconna",
]
plugin_dirs = ["zhenxun/services", "zhenxun/builtin_plugins", "zhenxun/plugins"]
adapters = [
{ name = "OneBot V11", module_name = "nonebot.adapters.onebot.v11" },
# { name = "DoDo", module_name = "nonebot.adapters.dodo" },
# { name = "开黑啦", module_name = "nonebot.adapters.kaiheila" },
]
[tool.ruff]
line-length = 88
target-version = "py310"
[tool.ruff.format]
line-ending = "lf"
[tool.ruff.lint]
select = [
"F", # Pyflakes
"W", # pycodestyle warnings
"E", # pycodestyle errors
"I", # isort
"UP", # pyupgrade
"ASYNC", # flake8-async
"C4", # flake8-comprehensions
"T10", # flake8-debugger
"T20", # flake8-print
"PYI", # flake8-pyi
"PT", # flake8-pytest-style
"Q", # flake8-quotes
"TID", # flake8-tidy-imports
"RUF", # Ruff-specific rules
]
ignore = [
"E402", # module-import-not-at-top-of-file
"UP037", # quoted-annotation
"RUF001", # ambiguous-unicode-character-string
"RUF002", # ambiguous-unicode-character-docstring
"RUF003", # ambiguous-unicode-character-comment
"TID252", # relative-imports
]
[tool.ruff.lint.isort]
force-sort-within-sections = true
known-first-party = ["zhenxun", "tests/*"]
extra-standard-library = ["typing_extensions"]
[tool.ruff.lint.flake8-pytest-style]
fixture-parentheses = false
mark-parentheses = false
[tool.ruff.lint.pyupgrade]
keep-runtime-typing = true
[tool.pyright]
pythonVersion = "3.10"
pythonPlatform = "All"
defineConstant = { PYDANTIC_V2 = true }
executionEnvironments = [
{ root = "./tests", extraPaths = [
"./",
] },
{ root = "./" },
]
typeCheckingMode = "standard"
reportShadowedImports = false
disableBytesTypePromotions = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "session"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
Generated
+2596 -2378
View File
File diff suppressed because it is too large Load Diff
+52 -51
View File
@@ -1,124 +1,121 @@
[tool.poetry]
name = "zhenxun_bot"
version = "0.1.1"
version = "0.2.4"
description = "基于 Nonebot2 和 go-cqhttp 开发,以 postgresql 作为数据库,非常可爱的绪山真寻bot"
authors = ["HibiKier <775757368@qq.com>"]
license = "AGPL"
package-mode = false
[[tool.poetry.source]]
name = "ali"
default = true
name = "aliyun"
url = "https://mirrors.aliyun.com/pypi/simple/"
priority = "primary"
[tool.poetry.dependencies]
python = "^3.10"
playwright = "^1.41.1"
nonebot-adapter-onebot = "^2.3.1"
nonebot-plugin-apscheduler = "^0.3.0"
nonebot-plugin-apscheduler = "^0.5"
tortoise-orm = { extras = ["asyncpg"], version = "^0.20.0" }
cattrs = "^23.2.3"
ruamel-yaml = "^0.18.5"
strenum = "^0.4.15"
nonebot-plugin-session = "^0.2.3"
ujson = "^5.9.0"
nonebot-adapter-kaiheila = "^0.3.0"
nb-cli = "^1.3.0"
nonebot2 = "^2.1.3"
pydantic = "1.10.18"
nonebot-adapter-discord = "^0.1.3"
nonebot-adapter-dodo = "^0.1.4"
pillow = "9.5"
nonebot2 = { extras = ["fastapi"], version = "^2.3.3" }
pillow = "^10.0.0"
retrying = "^1.3.4"
aiofiles = "^23.2.1"
nonebot-plugin-htmlrender = "^0.3.0"
nonebot-plugin-userinfo = "^0.1.3"
nonebot-plugin-htmlrender = ">=0.6.0,<1.0.0"
pypinyin = "^0.51.0"
beautifulsoup4 = "^4.12.3"
lxml = "^5.1.0"
psutil = "^5.9.8"
feedparser = "^6.0.11"
opencv-python = "^4.9.0.80"
imagehash = "^4.3.1"
black = "^24.4.2"
cn2an = "^0.5.22"
aiohttp = "^3.9.5"
dateparser = "^1.2.0"
bilireq = "0.2.3post0"
python-jose = { extras = ["cryptography"], version = "^3.3.0" }
python-multipart = "^0.0.9"
nonebot-plugin-alconna = "0.51.1"
aiocache = "^0.12.2"
py-cpuinfo = "^9.0.0"
nonebot-plugin-alconna = "^0.54.0"
tenacity = "^9.0.0"
nonebot-plugin-uninfo = ">0.4.1"
nonebot-plugin-waiter = "^0.8.1"
[tool.poetry.dev-dependencies]
nonebug = "^0.3.2"
[tool.poetry.group.dev.dependencies]
nonebug = "^0.4"
pytest-cov = "^5.0.0"
pytest-mock = "^3.6.1"
pytest-asyncio = "^0.23.5"
pytest-asyncio = "^0.25"
pytest-xdist = "^3.3.1"
respx = "^0.21.1"
ruff = "^0.8.0"
pre-commit = "^4.0.0"
[tool.nonebot]
plugins = [
"nonebot_plugin_apscheduler",
"nonebot_plugin_session",
"nonebot_plugin_htmlrender",
"nonebot_plugin_userinfo",
"nonebot_plugin_alconna",
]
plugin_dirs = ["zhenxun/services", "zhenxun/builtin_plugins", "zhenxun/plugins"]
adapters = [
{ name = "OneBot V11", module_name = "nonebot.adapters.onebot.v11" },
{ name = "DoDo", module_name = "nonebot.adapters.dodo" },
{ name = "开黑啦", module_name = "nonebot.adapters.kaiheila" },
# { name = "DoDo", module_name = "nonebot.adapters.dodo" },
# { name = "开黑啦", module_name = "nonebot.adapters.kaiheila" },
]
[tool.black]
line-length = 88
target-version = ["py39", "py310", "py311", "py312"]
include = '\.pyi?$'
extend-exclude = '''
'''
[tool.isort]
profile = "black"
line_length = 88
length_sort = true
skip_gitignore = true
force_sort_within_sections = true
src_paths = ["zhenxun", "tests"]
extra_standard_library = ["typing_extensions"]
[tool.ruff]
line-length = 88
target-version = "py310"
[tool.ruff.format]
line-ending = "lf"
[tool.ruff.lint]
select = [
"F", # Pyflakes
"W", # pycodestyle warnings
"E", # pycodestyle errors
"UP", # pyupgrade
"F", # Pyflakes
"W", # pycodestyle warnings
"E", # pycodestyle errors
"I", # isort
"UP", # pyupgrade
"ASYNC", # flake8-async
"C4", # flake8-comprehensions
"T10", # flake8-debugger
"T20", # flake8-print
"PYI", # flake8-pyi
"PT", # flake8-pytest-style
"Q", # flake8-quotes
"RUF", # Ruff-specific rules
"C4", # flake8-comprehensions
"T10", # flake8-debugger
"T20", # flake8-print
"PYI", # flake8-pyi
"PT", # flake8-pytest-style
"Q", # flake8-quotes
"TID", # flake8-tidy-imports
"RUF", # Ruff-specific rules
]
ignore = [
"E402", # module-import-not-at-top-of-file
"UP037", # quoted-annotation
"E402", # module-import-not-at-top-of-file
"UP037", # quoted-annotation
"RUF001", # ambiguous-unicode-character-string
"RUF002", # ambiguous-unicode-character-docstring
"RUF003", # ambiguous-unicode-character-comment
"TID252", # relative-imports
]
[tool.ruff.lint.isort]
force-sort-within-sections = true
known-first-party = ["zhenxun", "tests/*"]
extra-standard-library = ["typing_extensions"]
[tool.ruff.lint.flake8-pytest-style]
fixture-parentheses = false
mark-parentheses = false
[tool.ruff.lint.pyupgrade]
keep-runtime-typing = true
[tool.pyright]
pythonVersion = "3.10"
pythonPlatform = "All"
@@ -134,6 +131,10 @@ typeCheckingMode = "standard"
reportShadowedImports = false
disableBytesTypePromotions = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "session"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 654 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 365 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 608 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 499 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 745 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 365 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 449 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 510 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 855 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 749 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 932 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 684 KiB

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