Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ 签到/金币排行限制最大数量 #1616

Merged
merged 2 commits into from
Sep 9, 2024
Merged

✨ 签到/金币排行限制最大数量 #1616

merged 2 commits into from
Sep 9, 2024

Conversation

HibiKier
Copy link
Owner

@HibiKier HibiKier commented Sep 9, 2024

Summary by Sourcery

在签到和金币排行榜中实现对可显示条目最大数量的限制,限制为50。

增强功能:

  • 将签到和金币排行榜中的最大条目数量限制为50。
Original summary in English

Summary by Sourcery

Implement a restriction on the maximum number of entries that can be displayed in the sign-in and gold ranking lists, capping it at 50.

Enhancements:

  • Limit the maximum number of entries in the sign-in and gold ranking lists to 50.

Copy link
Contributor

sourcery-ai bot commented Sep 9, 2024

审核指南由 Sourcery 提供

此拉取请求实现了对签到和金币排行榜中条目数量的最大限制。它还包括对命令结构和错误处理的一些小改进。

文件级更改

更改 详情 文件
为排行榜实现最大50条目限制
  • 添加检查以限制签到排行榜中的条目数量为50
  • 添加检查以限制金币排行榜中的条目数量为50
  • 当请求的条目数量超过50时显示错误信息
zhenxun/builtin_plugins/sign_in/__init__.py
zhenxun/builtin_plugins/shop/__init__.py
改进命令结构和参数处理
  • 将签到列表命令中的 'num' 参数更改为可选,默认值为10
  • 更新金币列表子命令以要求 'num' 参数
  • 在两个插件中使用 AlconnaQuery 处理 'num' 参数
zhenxun/builtin_plugins/sign_in/__init__.py
zhenxun/builtin_plugins/shop/__init__.py
增强私聊场景的错误处理
  • 添加检查以防止在私聊中查看特定群组的排行榜
  • 在尝试在私聊中查看排行榜时显示适当的错误信息
zhenxun/builtin_plugins/shop/__init__.py

提示
  • 通过在拉取请求上评论 @sourcery-ai review 触发新的 Sourcery 审核。
  • 通过直接回复审核评论继续与 Sourcery 的讨论。
  • 您可以随时通过访问您的仪表板更改审核设置:
    • 启用或禁用 Sourcery 生成的拉取请求摘要或审核指南;
    • 更改审核语言;
  • 如果您有任何问题或反馈,您可以随时联系我们
Original review guide in English

Reviewer's Guide by Sourcery

This pull request implements a limit on the maximum number of entries in the sign-in and gold coin ranking lists. It also includes some minor improvements to the command structure and error handling.

File-Level Changes

Change Details Files
Implement a maximum limit of 50 entries for ranking lists
  • Add a check to limit the number of entries to 50 in the sign-in ranking list
  • Add a check to limit the number of entries to 50 in the gold coin ranking list
  • Display an error message when the requested number of entries exceeds 50
zhenxun/builtin_plugins/sign_in/__init__.py
zhenxun/builtin_plugins/shop/__init__.py
Improve command structure and parameter handling
  • Change the 'num' parameter in sign-in list command to be optional with a default value of 10
  • Update the gold-list subcommand to require the 'num' parameter
  • Use AlconnaQuery for handling the 'num' parameter in both plugins
zhenxun/builtin_plugins/sign_in/__init__.py
zhenxun/builtin_plugins/shop/__init__.py
Enhance error handling for private chat scenarios
  • Add a check to prevent viewing group-specific rankings in private chats
  • Display an appropriate error message when trying to view rankings in private chats
zhenxun/builtin_plugins/shop/__init__.py

Tips
  • Trigger a new Sourcery review by commenting @sourcery-ai review on the pull request.
  • Continue your discussion with Sourcery by replying directly to review comments.
  • You can change your review settings at any time by accessing your dashboard:
    • Enable or disable the Sourcery-generated pull request summary or reviewer's guide;
    • Change the review language;
  • You can always contact us if you have any questions or feedback.

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@HibiKier - 我已经审查了你的更改,看起来很棒!

这是我在审查期间查看的内容
  • 🟡 一般问题:发现2个问题
  • 🟢 安全性:一切看起来都很好
  • 🟢 测试:一切看起来都很好
  • 🟢 复杂性:一切看起来都很好
  • 🟢 文档:一切看起来都很好

Sourcery 对开源项目免费 - 如果你喜欢我们的审查,请考虑分享它们 ✨
帮助我变得更有用!请点击 👍 或 👎 在每个评论上告诉我它是否有帮助。
Original comment in English

Hey @HibiKier - I've reviewed your changes and they look great!

Here's what I looked at during the review
  • 🟡 General issues: 2 issues found
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Complexity: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.

async def _(
session: EventSession, arparma: Arparma, num: Query[int] = AlconnaQuery("num", 10)
):
if num.result > 50:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: 考虑为最大排名限制定义一个常量

为了提高可维护性和一致性,考虑在模块级别定义一个常量,如 MAX_RANK_LIMIT = 50,并在此处和其他类似检查中使用它。

MAX_RANK_LIMIT = 50

# ... (earlier in the file)

    if num.result > MAX_RANK_LIMIT:
Original comment in English

suggestion: Consider defining a constant for the maximum rank limit

To improve maintainability and consistency, consider defining a constant like MAX_RANK_LIMIT = 50 at the module level and using it here and in other similar checks.

MAX_RANK_LIMIT = 50

# ... (earlier in the file)

    if num.result > MAX_RANK_LIMIT:

Comment on lines +188 to +191
if not arparma.find("all") and not gid:
await MessageUtils.build_message(
"私聊中无法查看 '金币排行',请发送 '金币总排行'"
).finish()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: 考虑将私信检查通用化

此私信检查对其他命令也可能有用。考虑创建一个装饰器或实用函数来处理此检查,可以在不同的命令处理程序中重用。

async def check_private_message(gid: Optional[int], action: str):
    if not gid:
        await MessageUtils.build_message(
            f"私聊中无法查看 '{action}',请发送 '{action}总排行'"
        ).finish()

if not arparma.find("all"):
    await check_private_message(gid, "金币排行")
Original comment in English

suggestion: Consider generalizing the private message check

This check for private messages could be useful for other commands as well. Consider creating a decorator or utility function to handle this check, which could be reused across different command handlers.

async def check_private_message(gid: Optional[int], action: str):
    if not gid:
        await MessageUtils.build_message(
            f"私聊中无法查看 '{action}',请发送 '{action}总排行'"
        ).finish()

if not arparma.find("all"):
    await check_private_message(gid, "金币排行")

@HibiKier HibiKier closed this Sep 9, 2024
@HibiKier HibiKier reopened this Sep 9, 2024
@HibiKier HibiKier merged commit e4a92ea into dev Sep 9, 2024
2 checks passed
@HibiKier HibiKier deleted the feature/rank branch September 9, 2024 14:51
@HibiKier HibiKier mentioned this pull request Sep 30, 2024
HibiKier added a commit that referenced this pull request Sep 30, 2024
* ✨ 父级插件加载

* ✅ 添加测试:更新与添加插件 (#1594)

* ✅ 测试更新与添加插件

* ✅ Sourcery建议

* 👷 添加pytest

* 🎨 优化代码

* 🐛 bug修复

* 🐛修复添加插件返回403的问题 (#1595)

* 完善测试方法
* vscode测试配置
* 重构插件安装过程

* 🎨 修改readme

* Update README.md

* 🐛 修改bug与版本锁定

* 🐛 修复超级用户对群组功能开关

* 🐛 修复插件商店检查插件更新问题 (#1597)

* 🐛 修复插件商店检查插件更新问题

* 🐛 恶意命令检测问题

* 🐛 增加插件状态检查 (#1598)

* ✅ 优化测试用例

* 🐛 更改插件更新与安装逻辑

* 🐛 修复更新群组成员信息

* 🎨 代码优化

* 🚀 更新Dockerfile (#1599)

* 🎨 更新requirements

* ➕ 添加依赖aiocache

* ⚡ 添加github镜像

* ✨ 添加仓库目录多获取渠道

* 🐛 修复测试用例

* ✨ 添加API缓存

* 🎨 采取Sourcery建议

* 🐛 文件下载逻辑修改

* 🎨 优化代码

* 🐛 修复插件开关有时出现错误

* ✨ 重构自检ui

* 🐛 自检html修正

* 修复签到逻辑bug,并使代码更灵活以适应签到好感度等级配置 (#1606)

* 修复签到功能已知问题

* 修复签到功能已知问题

* 修改参数名称

* 修改uid判断

---------

Co-authored-by: HibiKier <[email protected]>

* 🎨 代码结构优化

* 🐛 私聊时修改插件时删除私聊帮助

* 🐛 过滤父插件

* 🐛 修复自检在ARM上的问题 (#1607)

* 🐛 修复自检在ARM上的问题

* ✅ 优化测试

* ✨ 支持mysql,psql,sqlite随机函数

* 🔧 VSCode配置修改

* 🔧 VSCode配置修改

* ✨ 添加金币排行

Co-Authored-By: HibiKier <[email protected]>

* 📝 修改README

Co-Authored-By: HibiKier <[email protected]>

* 🔨 提取GitHub相关操作 (#1609)

* 🔨 提取GitHub相关操作

* 🔨 重构API策略

* ✨ 签到/金币排行限制最大数量 (#1616)

* ✨ 签到/金币排行限制最大数量

* 🐛 修复超级用户id获取问题

* 🐛 修复路径解压与挂载 (#1619)

* 🐛 修复功能少时zhenxun帮助图片排序问题 (#1620)

* 🐛 签到文本适应 (#1622)

* 🐛 好感度排行提供默认值 (#1624)

* 🎈 优先使用github api (#1625)

* ✨ 重构帮助,限制普通用户查询管理插件 (#1626)

* 🐛 修复群权限与插件等级匹配 (#1627)

* ✨ 当管理员尝试ban真寻时将被反杀 (#1628)

* ✨ 群组发言时间检测提供开关配置 (#1630)

* 🐳 chore: 支持自动修改版本号 (#1629)

* 🎈 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 <[email protected]>

* 🧪 test(auto_update): 修复测试用例 (#1633)

* 🐛 修复商店商品为空时报错 (#1634)

* 🐛 修复群权限与插件等级匹配 (#1635)

* ✨ message_build支持AtAll (#1639)

* 🎈 perf: 使用commit号下载插件 (#1641)

* 🎈 perf: 使用commit号下载插件

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

---------

Co-authored-by: AkashiCoin <[email protected]>

* 🐳 chore: 修改运行检查触发路径 (#1642)

* 🐳 chore: 修改运行检查触发路径

* 🐳 chore: 添加tests目录

* ✨ 重构qq群事件处理 (#1643)

* 🐛 签到名称自适应 (#1644)

* 🎨  更新README (#1645)

* 🐛 fix(http_utils): 流式下载Content-Length错误 (#1647)

* 🐛 修复群组中帮助功能状态显示问题 (#1650)

* 🐛 修复群欢迎消息设置 (#1651)

* 🐛 修复webui下载后首次启动错误 (#1652)

* 🐛 修复webui下载后首次启动错误

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

---------

Co-authored-by: HibiKier <[email protected]>

* ✨ 移除默认图片文件夹:爬 (#1653)

* ✨ 安装/移除插件提供插件安装/卸载方法用于插件初始化 (#1654)

* ✨ 新增超级用户与管理员帮助模板 (#1655)

* ✨ 新增个人信息命令 (#1657)

* ✨ 修改个人信息菜单名称 (#1658)

* ✨ 新增插件商店api (#1659)

* ✨ 新增插件商店api

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

---------

Co-authored-by: HibiKier <[email protected]>

* ✨ 将cd,block,count限制复原配置文件 (#1662)

* 🎨 修改README (#1663)

* 🎨 修改版本号 (#1664)

* 🎨 修改requirements (#1665)

---------

Co-authored-by: AkashiCoin <[email protected]>
Co-authored-by: fanyinrumeng <[email protected]>
Co-authored-by: AkashiCoin <[email protected]>
Co-authored-by: Elaga <[email protected]>
Co-authored-by: AkashiCoin <[email protected]>
Co-authored-by: HibiKier <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants