HibiKier / zhenxun_bot

基于 Nonebot2 开发,非常可爱的绪山真寻bot
GNU Affero General Public License v3.0
3.36k stars 605 forks source link

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

Closed McElaga closed 2 months ago

McElaga commented 2 months ago
  1. 重写get_level_and_next_impression函数,更好地整合了好感度等级最低和最高时的逻辑,并且在好感度等级最高时返回的next_impressionimpression相等,与后续判断升级进度相契合(好感度等级最高时进度始终为100%);
  2. 修复部分bug、变量名,提高函数可读性;
  3. 实现在config.py文件更改好感度等级相关配置时,签到功能仍然可用。

Summary by Sourcery

重构印象级别逻辑以更有效地处理边缘情况,并确保与配置更改的兼容性。提高代码可读性并修复与印象级别计算相关的错误。

错误修复:

增强功能:

Original summary in English ## Summary by Sourcery Refactor the impression level logic to handle edge cases more effectively and ensure compatibility with configuration changes. Improve code readability and fix bugs related to impression level calculations. Bug Fixes: - Fix the logic in the `get_level_and_next_impression` function to correctly handle the highest impression level, ensuring the progress is always 100% when the maximum level is reached. Enhancements: - Improve the flexibility of the sign-in feature to adapt to changes in impression level configurations in the `config.py` file. - Enhance code readability by renaming variables and refining function logic.
sourcery-ai[bot] commented 2 months ago

审核指南由 Sourcery 提供

此拉取请求重构了登录逻辑,以修复错误并使代码更灵活,以适应登录印象级别配置。主要更改包括重写 get_level_and_next_impression 函数,修复变量名和错误,并实施更改以确保当在 config.py 文件中修改印象级别配置时,登录功能仍然有效。

文件级更改

更改 详情 文件
重构了 get_level_and_next_impression 函数以更好地处理印象级别
  • 重写了函数以更好地整合最小和最大印象级别的逻辑
  • 确保在最高印象级别时,next_impressionimpression 相等
  • 修改了函数签名以返回更准确的类型
  • 简化了确定当前级别和下一个印象阈值的逻辑
zhenxun/builtin_plugins/sign_in/utils.py
修复错误并提高代码可读性
  • 更正了变量名称以保持一致性(例如,将 impression 改为 add_impression
  • 修复了处理用户控制台 UID 为 0 的情况的逻辑
  • 更新了进度计算以使用正确的印象值
  • 移除了硬编码的级别检查,使代码更具动态性
zhenxun/builtin_plugins/sign_in/utils.py
提高了印象级别配置的灵活性
  • 添加了断言以确保印象态度、级别和关系长度之间的一致性
  • 更新了心形图标生成逻辑以使用印象级别的动态长度
  • 移除了硬编码的级别检查和计算
zhenxun/builtin_plugins/sign_in/utils.py

提示 - 通过在拉取请求中评论 `@sourcery-ai review` 来触发新的 Sourcery 审核。 - 通过直接回复审核评论继续与 Sourcery 的讨论。 - 您可以随时通过访问您的[仪表板](https://app.sourcery.ai)来更改您的审核设置: - 启用或禁用 Sourcery 生成的拉取请求摘要或审核指南; - 更改审核语言; - 如果您有任何问题或反馈,您可以随时[联系我们](mailto:support@sourcery.ai)。
Original review guide in English ## Reviewer's Guide by Sourcery This pull request refactors the sign-in logic to fix bugs and make the code more flexible to accommodate sign-in impression level configurations. The main changes include rewriting the `get_level_and_next_impression` function, fixing variable names and bugs, and implementing changes to ensure the sign-in feature remains functional when impression level configurations are modified in the `config.py` file. ### File-Level Changes | Change | Details | Files | | ------ | ------- | ----- | | Refactored the `get_level_and_next_impression` function for better handling of impression levels |
  • Rewrote the function to better integrate logic for minimum and maximum impression levels
  • Ensured that `next_impression` and `impression` are equal when at the highest impression level
  • Modified the function signature to return more accurate types
  • Simplified the logic for determining the current level and next impression threshold
| `zhenxun/builtin_plugins/sign_in/utils.py` | | Fixed bugs and improved code readability |
  • Corrected variable names for consistency (e.g., `impression` to `add_impression`)
  • Fixed logic for handling the case when user console UID is 0
  • Updated the progress calculation to use the correct impression values
  • Removed hardcoded level checks and made the code more dynamic
| `zhenxun/builtin_plugins/sign_in/utils.py` | | Improved flexibility for impression level configurations |
  • Added an assertion to ensure consistency between impression attitude, level, and relationship lengths
  • Updated the heart icon generation logic to use the dynamic length of impression levels
  • Removed hardcoded level checks and calculations
| `zhenxun/builtin_plugins/sign_in/utils.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](https://app.sourcery.ai): - Enable or disable the Sourcery-generated pull request summary or reviewer's guide; - Change the review language; - You can always [contact us](mailto:support@sourcery.ai) if you have any questions or feedback.
AkashiCoin commented 2 months ago

请使用dev分支修改,并且保证bot运行检查通过