Closed FurryR closed 2 years ago
The latest updates on your projects. Learn more about Vercel for Git ↗︎
感谢,明天会处理。
这个框架应该尽早完全迁移到 ts,这样简单 check 一下就可以发现这种级别的问题。
这个框架应该尽早完全迁移到 ts,这样简单 check 一下就可以发现这种级别的问题。
我正在尝试基于这个项目写Typescript版本;)
Bot.js的内部有很多位置对data进行操作,假定data为any,而这是Typescript较难做到的。我正在尝试把bot放到第一个参数。
同时,sendMessage或许应当允许且只允许以非链式调用方式(array)传入message,因为可读性更高的同时也兼容(伪)链式调用。
sample:
bot.sendMessage({
friend:114514,
message:[new Text('福瑞控?')].concat([new Text('哪里有福瑞控?')])
});
这个伪链式调用写着也太麻烦了点。。。
另外,我感觉允许传入一个 message 实例在语义上还是挺自然的,不知道你说的关于可读性的问题具体指什么。
关于上下文对象的类型结构设计,很有挑战性,因为它要非常灵活地考虑到扩展性,这一点其实可以参考一些 http server 框架的实现,比如 koa。
我现在很想着手做项目到 ts 的迁移,可惜目前一边实习一边求职,实在太忙。
问题
src/Message.d.ts
中,ForwardMessage.addForwardNode
的返回类型错误。影响
addForwardNode(... as ForwardNode)
后的自动补全提示错误。addForwardNode(... as ForwardNode)
后继续进行对原对象的链式调用,因为错误地返回了Message
。修正
将错误的返回类型
Message
改为正确的this
。同时,将下一行的ForwardMessage
也同时变更为了this
(对于Builder链式调用,返回值注this
的可读性更高)。注意
仅修正了
src/Message.d.ts
,需手动同步至dist/node/Message.d.ts
。