koishijs / koishi-plugin-dialogue Goto Github PK
View Code? Open in Web Editor NEWDialogue System for Koishi
Home Page: https://dialogue.koishi.chat
License: MIT License
Dialogue System for Koishi
Home Page: https://dialogue.koishi.chat
License: MIT License
版本:
dlalogue:4.1.3
dialogue-author :1.2.1
dialogue-context:1.0.4
dialogue-flow1.0.4
dialogue-time:1.0.3
dialogue-rate-limit:1.0.3
System:
OS: Windows 11 10.0.22631
CPU: (16) x64 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
Binaries:
Node: 20.3.1
Yarn: 4.1.0
Koishi:
Core: 4.17.4
Console: 5.26.5
Koishi Desktop: 1.0.2
使用:
详情:
问答43的详细信息:
问题:你这样是会被红白笑的
回答:$(dialogue你这样是要被红白笑的)
生效环境:全局
日志无报错
发送查询问答数量的指令(按出厂设置,即 ##
),bot无答复
控制台有报错(密恐警告):
[W] session c:\Chatbot-SILI-v4\node_modules\@satorijs\adapter-onebot\lib\index.js:107
throw new SenderError(params, action, retcode);
^
Error: Error with request send_group_msg, args: {"group_id":"1029954579","message":[{"type":"text","data":{"text":"共收录了 [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Objec
t],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Ob
ject],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object
Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[obj
ect Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[
object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object
],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Obj
ect],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object
Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[obje
ct Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[o
bject Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Obje
ct],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object O
bject],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[objec
t Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[ob
ject Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Objec
t],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Ob
ject],[object Object],[object Object],[object Object],[object Object] 个问题和 [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object
],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Obj
ect],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object
Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[obje
ct Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[o
bject Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Obje
ct],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object O
bject],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[objec
t Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[ob
ject Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Objec
t],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Ob
ject],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object
Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[obj
ect Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[
object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object
],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Obj
ect],[object Object] 个回答。"}}]}, retcode: 100
at Object._get (c:\Chatbot-SILI-v4\node_modules\@satorijs\adapter-onebot\lib\index.js:107:11)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object._Internal.<computed> (c:\Chatbot-SILI-v4\node_modules\@satorijs\adapter-onebot\lib\index.js:138:20)
at Object.flush (c:\Chatbot-SILI-v4\node_modules\@satorijs\adapter-onebot\lib\index.js:682:159)
at Object.render (C:\Chatbot-SILI-v4\node_modules\@satorijs\core\src\message.ts:36:7)
at Object.send (C:\Chatbot-SILI-v4\node_modules\@satorijs\core\src\message.ts:43:5)
at null.<anonymous> (C:\Chatbot-SILI-v4\node_modules\@koishijs\core\src\session.ts:354:7)
at Session.withScope (C:\Chatbot-SILI-v4\node_modules\@koishijs\core\src\session.ts:234:14)
at null.next (C:\Chatbot-SILI-v4\node_modules\@koishijs\core\src\internal.ts:216:16)
at null.next (C:\Chatbot-SILI-v4\node_modules\@koishijs\core\src\internal.ts:216:16)
发现文中的 [object Object]
数量与问题数量一致(
该换了
plugin-teach在不支持$function的mongodb数据库下出现问题:
即使触发条件中不包含regex,也会由于使用$function而导致运行失败
·使用不支持$function的mongodb数据库(比如mongodb atlas M0-M2)
·安装teach插件
·teach添加触发
teach aaa $(help)
在添加触发条件时判断运行环境是否支持$function,如果不支持就不添加;
在运行时判断是否支持$function,若不支持就默认数据库中不含有任何regex触发条件,并且在查询时不使用$function。
2022-05-02 07:36:17 [W] ndefined;1msession 6分拍 260多
MongoServerError: $function not allowed in this atlas tier
at Connection.onMessage (/home/a/arilychan/node_modules/mongodb/lib/cmap/connection.js:203:30)
at MessageStream. (/home/a/arilychan/node_modules/mongodb/lib/cmap/connection.js:63:60)
at MessageStream.emit (events.js:400:28)
at MessageStream.emit (domain.js:475:12)
at processIncomingData (/home/a/arilychan/node_modules/mongodb/lib/cmap/message_stream.js:108:16)
at MessageStream._write (/home/a/arilychan/node_modules/mongodb/lib/cmap/message_stream.js:28:9)
at writeOrBuffer (internal/streams/writable.js:358:12)
at MessageStream.Writable.write (internal/streams/writable.js:303:10)
at TLSSocket.ondata (internal/streams/readable.js:731:22)
at TLSSocket.emit (events.js:400:28)
Middleware stack:
- /home/a/arilychan/plugins/koishi-plugin-osu-stat-screenshot/index.js:154:30
- /home/a/arilychan/node_modules/@koishijs/plugin-feedback/lib/index.js:81:14
- /home/a/arilychan/plugins/koishi-plugin-blackfarts/index.js:62:26
- /home/a/arilychan/node_modules/@koishijs/core/lib/node.js:2542:14
- /home/a/arilychan/node_modules/@koishijs/core/lib/node.js:2222:14
- /home/a/arilychan/node_modules/@koishijs/core/lib/node.js:2681:12
- /home/a/arilychan/node_modules/@koishijs/plugin-bind/lib/index.js:82:14
No response
在使用中我希望同一个问题对不同用户的回答范围不同
比如有这样的问答:
# 老婆 老公1
# 老婆 老公2
# 老婆 老公3
# 老婆 才不是你老婆1
# 老婆 才不是你老婆2
# 老婆 才不是你老婆3
# 老婆 离婚!
存在以下场景:
-u uid,uid,uid ...
或者 -u @user,@user,@user ...
参数添加白名单-U uid,uid,uid ...
或者 -U @user,@user,@user ...
参数添加黑名单#id -u
查询该问答的白名单列表#id -U
查询该问答的黑名单列表#id -ud uid,uid,uid ...
或者 #id -ud @user,@user,@user ...
移除白名单#id -Ud uid,uid,uid ...
或者 #id -Ud @user,@user,@user ...
移除黑名单对于同一条问答,若uid已存在于白名单中,再添加到黑名单时则自动从白名单中移除,反之亦然。其他情况不存在冲突,按概率触发即可。
老实说,还是控制台操作比较方便,好加好查也好删
在index里面注册一个变量填写权限等级,在author包里面修改index里面的 “dialogue/permit” 监听 添加一个用户权限与设定值的判断放在最前面(有很多“或”判断 所以丢在前面最保险 )
dialogue
使用 #ID
格式查询问答时,图片直接显示为消息元素
dialogue
使用 #ID
格式查询问答,比如直接输入 #1
如果是单图回答,那么直接显示图片
如果是图文回答,那么图片处显示 [图片]
No response
System:
OS: Linux 5.4 Ubuntu 20.04.4 LTS (Focal Fossa)
CPU: (2) x64 AMD EPYC 7K62 48-Core Processor
Binaries:
Node: 16.13.1
Yarn: 1.22.17
Koishi:
Core: 4.11.1
Console: 5.1.2
No response
需求:想群友通过@机器人然后机器人回复内容
情况:在实际测试中,我尝试了将问题设置为$m,这两种,但都不能按需求输出,故想请教一下如何实现该功能呢?
在目前的版本中,dialogue 会区分「带称呼」和「不带称呼」的问题,并设置不同的概率 -p 和 -P(参见文档)。
然而,面对 QQ 和钉钉这类平台,本身就不存在不带称呼的问题,因此新版本中将不再区分这两类问题,而是使用统一的概率 -p 来处理所有问题。
此变更是一个 breaking change,会发布到下一个大版本中。
报错信息应该是:no such function:REGEXP
对于设置了多个nickname的机器人(如[ '四季酱', 'name2', 'name3' ]
),当使用了其中一个称呼来设置仅有称呼的问题
# 四季酱 欸嘿
再用其他未设置问题的称呼来触发,会报TypeError: items is not iterable
。
只有四季酱
正确响应了,另外两个称呼均报错
对于其他称呼,也应该正确作出回答:“你好!要来点四季酱吗?”
log:
TypeError: items is not iterable
at Session.suggest (D:\dev\bot\node_modules\.pnpm\@[email protected][email protected]\node_modules\@koishijs\plugin-suggest\src\index.ts:43:22)
at <anonymous> (D:\dev\bot\node_modules\.pnpm\@[email protected]\node_modules\@koishijs\core\src\command\index.ts:84:36)
at Object.compose (D:\dev\bot\node_modules\.pnpm\@[email protected]\node_modules\@koishijs\core\src\internal.ts:55:45)
at Array.<anonymous> (D:\dev\bot\node_modules\.pnpm\@[email protected]\node_modules\@koishijs\core\src\internal.ts:346:35)
at next (D:\dev\bot\node_modules\.pnpm\@[email protected]\node_modules\@koishijs\core\src\internal.ts:351:22)
at triggerDialogue (D:\dev\bot\node_modules\.pnpm\[email protected][email protected]\node_modules\koishi-plugin-dialogue\src\receiver.ts:166:22)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at next (D:\dev\bot\node_modules\.pnpm\@[email protected]\node_modules\@koishijs\core\src\internal.ts:351:16)
at _DriftBottlePlugin.callback (d:\dev\bot\plugins\drift-bottle\src\index.ts:207:12)
at next (D:\dev\bot\node_modules\.pnpm\@[email protected]\node_modules\@koishijs\core\src\internal.ts:351:16)
因为机器人昵称可以有多个,又可以修改
如果我要添加一个带昵称前缀的问题,并对所有昵称生效,则需要分别执行
# 四季酱,我喜欢你 你就是桃饱网大会员?
# 四季辣酱,我喜欢你 你就是桃饱网大会员?
# 四季黄豆酱,我喜欢你 你就是桃饱网大会员?
(没有对四季酱不敬的意思)
而且如果修改昵称(比如 四季酱=>李四),那第一条问答就失效了,同时也需要再执行
# 李四,我喜欢你 你就是桃饱网大会员?
才能对昵称李四生效
使用一个特殊语法,在问题中代替机器人昵称
比如用$n
来匹配机器人当前昵称
# $n,我喜欢你 你就是桃饱网大会员?
这样无论是对机器人增加昵称、修改昵称、删除昵称,都不会影响这个问答应有的效果
我拿 teach 当桥接的路子寄了(悲)
部分插件可能需要或依托dialogue插件的特性,但是手动录入条目过多时会十分麻烦,那么可以提供一个api以供其他插件进行批量注册。例如下列方法:
ctx.dialogue.pushQuiz([{q, a}, ...]);
2023-11-06 09:34:06 [W] teach SystemError [ERR_FS_EISDIR]: Path is a directory: cp returned EISDIR (\?\C:\Users\xiuzh\AppData\Roaming\Koishi\Desktop\data\instances\default\public is a directory (not copied)) \?\C:\Users\xiuzh\AppData\Roaming\Koishi\Desktop\data\instances\default\public
at new SystemError (node:internal/errors:238:5)
at new NodeError (node:internal/errors:349:7)
at getStatsForCopy (node:internal/fs/cp/cp:211:11)
at async LocalAssets._start (C:\Users\xiuzh\AppData\Roaming\Koishi\Desktop\data\instances\default\node_modules\koishi-plugin-assets-local\lib\index.js:46:13)
只有回答使用图片的时候才会报错
大佬,群聊中, 关键字会触发,私聊的时候没有反应,是哪里需要设置吗?
任何自定义前缀(prefix
项)都会导致 teach 不响应,不论单个字符还是多个字符。
不设置的情况下 # 能正常响应。
无法调用指令插值
是我操作问题吗,插件和koishi版本均为最新
test
07:55:22 #无反应`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.