JHue58 / ChatLearning

基于mirai-api-http,让bot学会你的群的说话方式
GNU Affero General Public License v3.0
313 stars 21 forks source link

求助:聊天环境!help无回应,learing等对key报错 #49

Closed greenhandzdl closed 1 year ago

greenhandzdl commented 1 year ago

image

linux1@gservice:/mirai/develop/Source$ python3 Chatmain.py
欢迎使用ChatLearning应用 版本号: 2.9.8
输入help来查看指令列表吧!
抛出异常,已记录到日志(log.log文件)
Traceback (most recent call last):
  File "/mirai/develop/Source/ChatClass.py", line 375, in run
    self._target(*self._args, **self._kwargs)
  File "Chatmain.py", line 1854, in getcommand_chat
    message = simuse.Fetch_Message(data)
  File "/mirai/develop/Source/simuse.py", line 89, in Fetch_Message
    Message = res['data']
KeyError: 'data'

ChatLearning ->help
指令列表:
learning     #开启/关闭记录
reply     #开启/关闭回复
voicereply     #开启/关闭文字转语音回复
learning <秒>     #设定词库链间隔时间
reply <%>     #设定回复的触发几率
reply -s <%> <群号>     #单独设定回复触发几率
reply -d <群号>     #清除单独设定的回复触发几率
replywait <基准时间> <浮动时间>     #设定回复的等待时间
replycd <秒>     #设定回复的冷却时间
voicereply <%>     #设定文字转语音回复几率
voicereply -s <%> <群号>     #单独设定文字转语音触发几率
voicereply -d <群号>     #清除单独设定的文字转语音触发几率
merge <秒>     #设定总词库更新时间
typefreq <消息类型> <次数>     #设定消息发送阈值
add learning <群号>     #添加开启记录的群
add learnings <群号>     #同时添加开启记录和回复的群
add reply <群号>     #添加开启回复的群
add subadmin <群号>     #添加可自行管理的群
add unmerge <群号>     #添加不录入总词库的群
add tag <标签> <群号>     #添加群标签
add autotask <任务名称>     #添加定时任务
remove learning <群号>     #移除开启记录的群
remove reply <群号>     #移除开启回复的群
remove subadmin <群号>     #移除可自行管理的群
remove unmerge <群号>     #移除不录入总词库的群
remove tag <群号>     #移除群标签
remove autotask <任务名称>     #移除定时任务
autotaskinfo     #查看定时任务详情
fastdelete     #更改快速清除的权限
check     #查看设置情况
grouplist     #查看开启记录/回复的群列表
globe     #开启/关闭全局模式
setadmin <QQ号>     #设置管理员QQ号
setvoicept <训练集>     #设置文字转语音回复的训练集
settemp <条数>     #设置单个群中消息缓存最大数目
blackfreq <次数>     #设置黑名单容错次数
uploadwav     #上传源音频文件
autotaskcommand     #查看定时任务的特殊指令
admin     #进入管理模式
exit     #退出程序
管理员可通过私聊Bot,开头加上感叹号来执行相应的指令

ChatLearning ->setadmin 2029252158
管理员QQ号已设置为 [2029252158]

ChatLearning ->learning
<-开始记录
2022-07-23 03:40:43 词库合并完成
抛出异常,已记录到日志(log.log文件)
Traceback (most recent call last):
  File "/mirai/develop/Source/ChatClass.py", line 375, in run
    self._target(*self._args, **self._kwargs)
  File "/mirai/develop/Source/ChatLearning.py", line 339, in main
    listening(data)
  File "/mirai/develop/Source/ChatLearning.py", line 167, in listening
    textdict = extractmessage(data, textdict)  # 不同群的消息链对应存储
  File "/mirai/develop/Source/ChatLearning.py", line 125, in extractmessage
    message = simuse.Fetch_Message(data)  # 监听消息链
  File "/mirai/develop/Source/simuse.py", line 89, in Fetch_Message
    Message = res['data']
KeyError: 'data'

ChatLearning ->reply
<-开启回复功能
抛出异常,已记录到日志(log.log文件)
Traceback (most recent call last):
  File "/mirai/develop/Source/ChatClass.py", line 375, in run
    self._target(*self._args, **self._kwargs)
  File "/mirai/develop/Source/ChatReply.py", line 624, in main
    listening(data)
  File "/mirai/develop/Source/ChatReply.py", line 557, in listening
    message = simuse.Fetch_Message(data)  # 监听消息链
  File "/mirai/develop/Source/simuse.py", line 89, in Fetch_Message
    Message = res['data']
KeyError: 'data'

ChatLearning ->voicereply
<-开启语音回复功能

ChatLearning ->globe
<-已开启全局模式
greenhandzdl commented 1 year ago
linux1@gservice:/mirai/develop/Source$ cat log.log
2022-07-23 03:38:39
Traceback (most recent call last):
  File "/mirai/develop/Source/ChatClass.py", line 375, in run
    self._target(*self._args, **self._kwargs)
  File "Chatmain.py", line 1854, in getcommand_chat
    message = simuse.Fetch_Message(data)
  File "/mirai/develop/Source/simuse.py", line 89, in Fetch_Message
    Message = res['data']
KeyError: 'data'

2022-07-23 03:38:45
Traceback (most recent call last):
  File "/mirai/develop/Source/ChatClass.py", line 375, in run
    self._target(*self._args, **self._kwargs)
  File "Chatmain.py", line 1854, in getcommand_chat
    message = simuse.Fetch_Message(data)
  File "/mirai/develop/Source/simuse.py", line 89, in Fetch_Message
    Message = res['data']
KeyError: 'data'

2022-07-23 03:40:43
Traceback (most recent call last):
  File "/mirai/develop/Source/ChatClass.py", line 375, in run
    self._target(*self._args, **self._kwargs)
  File "/mirai/develop/Source/ChatLearning.py", line 339, in main
    listening(data)
  File "/mirai/develop/Source/ChatLearning.py", line 167, in listening
    textdict = extractmessage(data, textdict)  # 不同群的消息链对应存储
  File "/mirai/develop/Source/ChatLearning.py", line 125, in extractmessage
    message = simuse.Fetch_Message(data)  # 监听消息链
  File "/mirai/develop/Source/simuse.py", line 89, in Fetch_Message
    Message = res['data']
KeyError: 'data'

2022-07-23 03:40:48
Traceback (most recent call last):
  File "/mirai/develop/Source/ChatClass.py", line 375, in run
    self._target(*self._args, **self._kwargs)
  File "/mirai/develop/Source/ChatReply.py", line 624, in main
    listening(data)
  File "/mirai/develop/Source/ChatReply.py", line 557, in listening
    message = simuse.Fetch_Message(data)  # 监听消息链
  File "/mirai/develop/Source/simuse.py", line 89, in Fetch_Message
    Message = res['data']
KeyError: 'data'
JHue58 commented 1 year ago

能把mcl的报错截图截完整一点嘛

greenhandzdl commented 1 year ago

2022-07-23 03:50:38 E/main: Exception in coroutine ConsoleBuiltInPluginConfigHolder
java.io.FileNotFoundException: /mirai/config/Console/PermissionService.yml (Permission denied)
        at java.base/java.io.FileOutputStream.open0(Native Method)
        at java.base/java.io.FileOutputStream.open(FileOutputStream.java:293)
        at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235)
        at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:184)
        at kotlin.io.FilesKt__FileReadWriteKt.writeBytes(FileReadWrite.kt:108)
        at kotlin.io.FilesKt__FileReadWriteKt.writeText(FileReadWrite.kt:134)
        at kotlin.io.FilesKt__FileReadWriteKt.writeText$default(FileReadWrite.kt:134)
        at net.mamoe.mirai.console.internal.data.MultiFilePluginDataStorageImpl.store(MultiFilePluginDataStorageImpl.kt:82)
        at net.mamoe.mirai.console.data.AutoSavePluginData.doSave(AutoSavePluginData.kt:117)
        at net.mamoe.mirai.console.data.AutoSavePluginData.save(AutoSavePluginData.kt:109)
        at net.mamoe.mirai.console.data.AutoSavePluginData.access$save(AutoSavePluginData.kt:34)
        at net.mamoe.mirai.console.data.AutoSavePluginData$onInit$5.invokeSuspend(AutoSavePluginData.kt:78)
        at net.mamoe.mirai.console.data.AutoSavePluginData$onInit$5.invoke(AutoSavePluginData.kt)
        at net.mamoe.mirai.console.data.AutoSavePluginData$onInit$5.invoke(AutoSavePluginData.kt)
        at net.mamoe.mirai.console.util.TimedTask$job$1.invokeSuspend(CoroutineScopeUtils.kt:87)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

2022-07-23 03:50:41 E/main: Exception in coroutine ConsoleBuiltInPluginDataHolder
java.io.FileNotFoundException: /mirai/config/Console/AutoLogin.yml (Permission denied)
        at java.base/java.io.FileOutputStream.open0(Native Method)
        at java.base/java.io.FileOutputStream.open(FileOutputStream.java:293)
        at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235)
        at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:184)
        at kotlin.io.FilesKt__FileReadWriteKt.writeBytes(FileReadWrite.kt:108)
        at kotlin.io.FilesKt__FileReadWriteKt.writeText(FileReadWrite.kt:134)
        at kotlin.io.FilesKt__FileReadWriteKt.writeText$default(FileReadWrite.kt:134)
        at net.mamoe.mirai.console.internal.data.MultiFilePluginDataStorageImpl.store(MultiFilePluginDataStorageImpl.kt:82)
        at net.mamoe.mirai.console.data.AutoSavePluginData.doSave(AutoSavePluginData.kt:117)
        at net.mamoe.mirai.console.data.AutoSavePluginData.save(AutoSavePluginData.kt:109)
        at net.mamoe.mirai.console.data.AutoSavePluginData.access$save(AutoSavePluginData.kt:34)
        at net.mamoe.mirai.console.data.AutoSavePluginData$onInit$5.invokeSuspend(AutoSavePluginData.kt:78)
        at net.mamoe.mirai.console.data.AutoSavePluginData$onInit$5.invoke(AutoSavePluginData.kt)
        at net.mamoe.mirai.console.data.AutoSavePluginData$onInit$5.invoke(AutoSavePluginData.kt)
        at net.mamoe.mirai.console.util.TimedTask$job$1.invokeSuspend(CoroutineScopeUtils.kt:87)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

2022-07-23 03:51:02 E/main: Exception in coroutine ConsoleBuiltInPluginDataHolder
java.io.FileNotFoundException: /mirai/config/Console/AutoLogin.yml (Permission denied)
        at java.base/java.io.FileOutputStream.open0(Native Method)
        at java.base/java.io.FileOutputStream.open(FileOutputStream.java:293)
        at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235)
        at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:184)
        at kotlin.io.FilesKt__FileReadWriteKt.writeBytes(FileReadWrite.kt:108)
        at kotlin.io.FilesKt__FileReadWriteKt.writeText(FileReadWrite.kt:134)
        at kotlin.io.FilesKt__FileReadWriteKt.writeText$default(FileReadWrite.kt:134)
        at net.mamoe.mirai.console.internal.data.MultiFilePluginDataStorageImpl.store(MultiFilePluginDataStorageImpl.kt:82)
        at net.mamoe.mirai.console.data.AutoSavePluginData.doSave(AutoSavePluginData.kt:117)
        at net.mamoe.mirai.console.data.AutoSavePluginData.save(AutoSavePluginData.kt:109)
        at net.mamoe.mirai.console.data.AutoSavePluginData.access$save(AutoSavePluginData.kt:34)
        at net.mamoe.mirai.console.data.AutoSavePluginData$onInit$5.invokeSuspend(AutoSavePluginData.kt:78)
        at net.mamoe.mirai.console.data.AutoSavePluginData$onInit$5.invoke(AutoSavePluginData.kt)
        at net.mamoe.mirai.console.data.AutoSavePluginData$onInit$5.invoke(AutoSavePluginData.kt)
        at net.mamoe.mirai.console.util.TimedTask$job$1.invokeSuspend(CoroutineScopeUtils.kt:87)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
greenhandzdl commented 1 year ago

还有再次启动的error

linux1@gservice:/mirai/develop/Source$ python3 Chatmain.py
欢迎使用ChatLearning应用 版本号: 2.9.8
输入help来查看指令列表吧!
<-开始记录
2022-07-23 03:50:55 词库合并完成
抛出异常,已记录到日志(log.log文件)
Traceback (most recent call last):
  File "/mirai/develop/Source/ChatClass.py", line 375, in run
    self._target(*self._args, **self._kwargs)
  File "/mirai/develop/Source/ChatLearning.py", line 339, in main
    listening(data)
  File "/mirai/develop/Source/ChatLearning.py", line 167, in listening
    textdict = extractmessage(data, textdict)  # 不同群的消息链对应存储
  File "/mirai/develop/Source/ChatLearning.py", line 125, in extractmessage
    message = simuse.Fetch_Message(data)  # 监听消息链
  File "/mirai/develop/Source/simuse.py", line 89, in Fetch_Message
    Message = res['data']
KeyError: 'data'

<-开启回复功能
抛出异常,已记录到日志(log.log文件)
Traceback (most recent call last):
  File "/mirai/develop/Source/ChatClass.py", line 375, in run
    self._target(*self._args, **self._kwargs)
  File "/mirai/develop/Source/ChatReply.py", line 624, in main
    listening(data)
  File "/mirai/develop/Source/ChatReply.py", line 557, in listening
    message = simuse.Fetch_Message(data)  # 监听消息链
  File "/mirai/develop/Source/simuse.py", line 89, in Fetch_Message
    Message = res['data']
KeyError: 'data'

抛出异常,已记录到日志(log.log文件)
Traceback (most recent call last):
  File "/mirai/develop/Source/ChatClass.py", line 375, in run
    self._target(*self._args, **self._kwargs)
  File "Chatmain.py", line 1854, in getcommand_chat
    message = simuse.Fetch_Message(data)
  File "/mirai/develop/Source/simuse.py", line 89, in Fetch_Message
    Message = res['data']
KeyError: 'data'
JHue58 commented 1 year ago

感觉像是有mah插件抛出的异常,这已经是所有异常了吗?方便的话我再看看setting.yml和data.json

greenhandzdl commented 1 year ago

哪里的.yml?

JHue58 commented 1 year ago

哪里的.yml?

mah插件的

greenhandzdl commented 1 year ago

linux1@gservice:/mirai$ ls config/net.mamoe.mirai-api-http/
setting.yml  setting.yml.backup
linux1@gservice:/mirai$ cat config/net.mamoe.mirai-api-http/setting.yml
adapters:
  - http
debug: false
enableVerify: false
verifyKey: INITKEY8rGWjcoC
singleMode: false
cacheSize: 4096
adapterSettings:
   http:
    host: localhost
    port: 1660
    cors: ["*"]
linux1@gservice:/mirai$ cat develop/Source/data.json
{
 "Key": "",
 "host": "127.0.0.1",
 "port": "1660",
 "qq": "742431945",
 "session": "XXX"
}
JHue58 commented 1 year ago

linux1@gservice:/mirai$ ls config/net.mamoe.mirai-api-http/
setting.yml  setting.yml.backup
linux1@gservice:/mirai$ cat config/net.mamoe.mirai-api-http/setting.yml
adapters:
  - http
debug: false
enableVerify: false
verifyKey: INITKEY8rGWjcoC
singleMode: false
cacheSize: 4096
adapterSettings:
   http:
    host: localhost
    port: 1660
    cors: ["*"]
linux1@gservice:/mirai$ cat develop/Source/data.json
{
 "Key": "",
 "host": "127.0.0.1",
 "port": "1660",
 "qq": "742431945",
 "session": "XXX"
}

如果不使用key,需要开启singlemode模式,同时建议将localhost修改为0.0.0.0

greenhandzdl commented 1 year ago

正常了,感谢