Skip to content

💠 GI Bot 1.x 改进提案 #115

@1shin-7

Description

@1shin-7

目标: 在不更新额外功能的情况下保证1.x可以独立使用 => 1.x LTS

  • 重要
    • 添加tag以区分版本[tag]
    • 移除未使用的branch, 将现有的分支改为hoshino_oldnonebot_alpha 新增core
    • 清光Issues[1]
  • 代码
  • 地图
    • 使用异步下载[2]
    • 小改地图类
    • 改进绘制策略 (?)
  • 图像/数据源
  • 资源
    • 对图像等资源统一管理[4]
  • 启动体验
    • 优化下载[5]
  • 可能实施的变更
    • 一键脚本 (?)
    • 对项目进行小幅度重构[refmt]
    • 将核心部分拆分到core分支以解决不同bot平台间存在问题以及更新麻烦的问题

注:

  • [1] 现有的Issues囤积过多, 最早的更可追溯到2020年
  • [2] 同步下载地图资源会对bot启动造成一定程度的阻塞
  • [3] 现在使用的G-HW内鬼网作为图鉴来源比较不稳定,加之国内访问不佳,故考虑使用效率更高、访问延迟相对较优、无需解析网页以获取数据的 Amber Project 作为数据源及图鉴源;同时保留扩展性,支持使用国内数据(镜像)[对比图]
  • [4] 现在存在单一资源重复导入/资源存储位置较为分散等问题 考虑进行如下改变:
    • 统一资源目录
    • 统一导入资源
    • 单个插件初始化时声明所需资源 (?)
  • [5] 使用进度条,并且单行显示资源下载进度及文件名以减少终端输出
  • [6] 由于无必要性及考虑到完成工作消耗的时间, 可能完全不实施. 不过综合考虑, 优先实施核心解耦还是有一定必要性的, 这样可以大幅降低上述工作的时间.
  • [6] 由于项目前期使用的vscode等编辑器导致部分代码格式相对不标准 为提升易读性, 在PyCharm提供的一键格式化&优化导入的同时, 对非标准变量进行一定程度的重命名以提升可读性
  • [tag] 版本tag: 分三段: v{大版本}.{功能更新}.{bug修复} 根据CHANGELOG中的每一个项目来定义版本
  • [log] 原本使用loguru来避免直接print导致的终端格式问题;而事实上Nonebot提供了一个标准的logger:from noenbot.log import logger,Nonebot2才是默认使用 loguru 因此可以直接仿照nb1的格式使用logging.Logger或者直接使用nb提供的logger来输出,而不是使用额外的loguru库。

附: 对比图

image
image

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions