Skip to content

Latest commit

 

History

History
47 lines (25 loc) · 2.84 KB

DEVELOPER.md

File metadata and controls

47 lines (25 loc) · 2.84 KB

开发文档

本项目暂时以 Dice! 2.5 作为移植的蓝本,在完成 80% 以上的基本功能移植之前不会增加新的功能。

另外,本项目不接受任何赞助,如果想要赞助请直接给溯洄赞助。

某些功能不会移植的原因

以下意见仅针对 Dice! 项目本身,不针对任何开发者。

我一直认为,Dice! 作为一个掷骰插件,它的手伸得有些太长了。一开始只是增加一些额外的娱乐功能,例如今日人品、拓展牌堆,这些虽然与 Dice! 掷骰功能没有直接的关联,但作为小功能添加进来就挺好的。但是自从云黑名单添加进来之后,一切都变了。“保护骰主”这一本意是极好的,但是最后无疑是像一场闹剧:由于拉黑解黑产生的纠纷有时候甚至凌驾于其原因之上,而某些骰主对于这一至高权力的滥用更是让我无法接受。要解决这种现状,我认为只有两种方法:要么像塔系骰娘一样名义上开源但实际上整个社区仍然处于作者的掌控之下,要么就彻底取消这一功能。

很遗憾,在这个问题还没有解决时,酷Q倒下了,开发者们纷纷开始寻找新的出路,自然也无暇顾他。

我最初是想通过自行修改出一个版本来解决这些问题(这也是仑质的做法),但是我对 Dice! 这个项目本身没有足够的了解,也觉得在一个充满他人风格的大项目上修修补补还不如自己从零开始写一个版本。这就是 NoDice,基于 NoneBot 的 Dice! 移植。在我之前,已经有诸位前辈在 Nonebot 框架上移植过 Dice! ,但我仍然想要一个属于自己的版本,坚持自己的松耦合原则,以及彻底与那些臃肿的额外功能划清界限。

所以,以下功能永远不会移植:*

  • 集成群管 .group
  • 授权许可 .authorize
  • 发送消息 .send

某些娱乐功能虽然没有列入永不移植列表,但它们的优先级远低于基本功能。

简单的结构说明

TO DO

各模块功能说明

TO DO

Bug

  • 突然发现自己写 format_message 的时候留下了一个致命的 bug :只要在带原因的指令中将原因写成 {reason} ,nodice 就会在这一步无限递归,锁死 nb 。

Bug(fix)

已修复的 Bug 会被丢到这来。

  1. TRPGLogger 的时候发现我一直以来都把数据储存在插件文件夹里,这对于使用 git clone 来下载插件的人没有什么问题,但是一旦有人使用 pypi 来下载插件,数据便会被存储到 python 的 site-package 里,导致挂载在同一台计算机上的 bot 共享数据。

  2. 不知道为什么会把 [ 转义成奇怪的编码,经低调佬指点得知是 get_message 的问题,需要再 extract_plain_text 才行。

Changelog

TO DO