koishi
koishi copied to clipboard
Cross-platform chatbot framework made with love
### Describe the problem related to the feature request 想要在数据库中存储BIGINT类型的数字 原有的 integer length 无法超过11, 导致现有数据类型无法存储更大的数字 ### Describe the solution you'd like 在database.extend方法中增加更多的数据类型支持,例如 bigint 等 ```typescript ctx.database.extend('a', { long_number: 'bigint', })...
### Describe the bug 在启用Explorer插件的情况下,点击path类型的配置项仍然没有文件选择器,只能直接输入路径 ### Steps to reproduce 点击path类型的配置项 ### Expected behavior 显示一个文件选择器 ### Screenshots    ### Versions - OS: Windows 11 - Platform: Koishi - Node...
### Describe the bug https://github.com/satorijs/satori/blob/6390012cc3c1a301e30a87c5d7f52fd3f762c349/adapters/telegram/src/utils.ts#L100 koishi 自动 answerCallbackQuery了,导致我手动调用 answerCallbackQuery 不生效,注释后正常 ### Steps to reproduce 如题 ### Expected behavior 如题 ### Screenshots _No response_ ### Versions - OS: - Platform: -...
### Describe the bug 按钮数据如下 ``` reply_markup: { inline_keyboard: [ [ { text: "test-button", callback_data: "test-button", } ] ] } ``` 点击按钮后,koishi接收到事件报错 ``` app TypeError: Cannot read properties of undefined...
### Describe the bug 在 discord 适配器中通过 `bot.getMessageList` 获得的消息没有 `quote.id`,具体如下图: ### Steps to reproduce 1. create koishi 2. 启动 discord 适配器 3. 安装 @seidko/messages 插件 4. 让机器人接收到某个频道的消息后关闭适配器 5. 发一条带有 quote...
### Describe the problem related to the feature request 可选:指定、全部。 作用:使不需要设置autoAuthorize为0也可以不默认往数据库中添加用户。 ### Describe the solution you'd like 内置功能 ### Describe alternatives you've considered _No response_ ### Additional context _No response_
### Describe the problem related to the feature request When a channel within a guild undergoes a change, the modification cannot be immediately obtained. ### Describe the solution you'd like...
### Describe the problem related to the feature request 目前我们有一些(管理类的)指令,如alias,plugin,command, shorturl等。这些指令或没有对应的service,或其service偏向internal不易使用。而这些指令本身,除了用于控制执行权限的authority/permissions外,与bot/session并无耦合,理应通过session.execute来执行以实现类似service的效果 但这其中存在以下几点问题: - 要执行session.execute,首先必须有session,进一步的,必须先有一个特定的bot。而根据上述讨论,这些指令的执行过程是与bot/session完全无关的。 - 如果我们虚构/任意指定一个bot,那么bot.session()直接获得的session由于缺少event,在后续流程中会存在一些问题,例如isDirect的判断中会报错,此外,authority/permission的嵌入也需在此考虑。 - sessuib,execute的二参数next用于指定execute的emit行为,当next=true时execute会将原本要send的内容作为函数返回值返回,这是与我们的期望一致的。但是,next属性并不会被传递,当存在execute嵌套时(事实上,即使没有嵌套,传入string而不是Argv这一行为本身就会导致内部的嵌套),emit行为就可能被重置,这取决于其内部逻辑的行为。稍微展开一下这部分,在koishi的command执行栈中,大部分位置都可以直接返回Fragment来中止后续并发送输出的,此时则不需要显式session.send。而在官方插件help中,executeHelp函数调用session.execute却没有设置next,即此处可以设置next=true来返回,却显示调用了send,我认为此处存在问题,即导致了指令` -h`的执行过程总无法与session解耦,应当优化。 command作为koishi三种跨插件调用之一(event,service,command),应当拥有更广泛的使用场景。基于此,我认为我们可以: - 提供获取独立的空session的方法用于执行command - 优化整个执行过程中的问题,(对官方插件)优化next的一致性以明确解耦性的传递性。 对部分设计插件的一个显见的好处是,我们无需重复性的实现同一功能的command/service版本 ### Describe the solution you'd...
### Describe the bug ```log 2023-11-26 20:00:06 [W] app RangeError: Maximum call stack size exceeded at fork.parent.filter (/koishi/node_modules/@koishijs/loader/lib/shared.js:264:26) at fork.parent.filter (/koishi/node_modules/@koishijs/loader/lib/shared.js:265:21) at fork.parent.filter (/koishi/node_modules/@koishijs/loader/lib/shared.js:265:21) at fork.parent.filter (/koishi/node_modules/@koishijs/loader/lib/shared.js:265:21) at fork.parent.filter (/koishi/node_modules/@koishijs/loader/lib/shared.js:265:21)...
### Describe the problem related to the feature request 不同插件提供了同一个命令在启动时 koishi 会直接报错 ### Describe the solution you'd like 类似服务重复提供提示,为指令提供冲突提示 ### Describe alternatives you've considered - (braking)要求开发者在 pkg.json 中加入比如 contributions 字段来注册指令,这样可以在加载前提示冲突。...