easydu2002 / chat_gpt_oicq

ChatGPT qq机器人 谁不想拥有一只可爱的猫娘呢~
MIT License
284 stars 38 forks source link

error: Request failed with status code 401 #16

Closed chenyv118 closed 1 year ago

chenyv118 commented 1 year ago

image 请问是因为什么原因呢?配置错误吗?

chenyv118 commented 1 year ago

image image 配置如下: image 其中3241218997是群主QQ,1174316790是机器人QQ

chenyv118 commented 1 year ago

image 密钥也是永久不过期的

easydu2002 commented 1 year ago

Screenshot_20221223_081546

应该这样才对

hypergraphUniverse commented 1 year ago

经过实测,交互式配置出了一些错误。我开了新的config.js后也变成了同样的效果。 grafik grafik

错误现象:

  1. officialAPI 下面误开了一个 officalAPI 保存了 key
  2. adminQQ,botQQ出现重复。
  3. api也出现了上述只应该出现在official的键值对。

推荐改进: 1. 面对json配置文件的结构错误,可能需要添加对应的检查和警告,而不是安静处理。(还是让JS就这样稀里糊涂地跑下去吧)

  1. 考虑引入unittest+pipeline (预计咕咕咕)
  2. 版本更新时,config.js可能因更新而变化较大,或者出现了这样的解析错误。可能需要考虑每一个稳定版本提供一个config的标准模板以供参考。
hypergraphUniverse commented 1 year ago

定位了一下,main.ts 调用 src/auto.ts 中的 run() 后返回的config应该是

{
  "adminQQ": 1599010773,
  "botQQ": 3385663908,
  "officialAPI": {
    "key": "sk-xxx",
  },

这个结构体在后续的回调中,作为参数输入 generateHandlerConfig()。但是在 17行合并 的时候,这个结构体和每一项MessageHandlers[i]的config进行了平行合并,并赋给MessageHandle子类的同名键。这就导致了上面这个结构体变成了每一个MessageHandle子类的同名键("officialAPI"/"api")下面的键值对。

hypergraphUniverse commented 1 year ago

576e9cc 已经应急修复。

easydu2002 commented 1 year ago

Screenshot_20221223_081546 应该这样才对

没问题的,修改好配置之后确实可以运行成功了。

你的这张截图有点像termux的界面,不过我在termux里尝试启动这个项目的时候显示unsupported platform: android,请问是有哪里做错了吗?错误信息如下: IMG_20221224_161651

可以先这么试试 export PUPPETEER_SKIP_DOWNLOAD=true && ./start.sh

hypergraphUniverse commented 1 year ago

感觉这个PUPPETEER安装相关引起的bug不少啊, #15 也是这个原因,要不然默认不安装PUPPETEER,或者说加点什么辨识之类的?

easydu2002 commented 1 year ago

感觉这个PUPPETEER安装相关引起的bug不少啊, #15 也是这个原因,要不然默认不安装PUPPETEER,或者说加点什么辨识之类的?

脚本加个参数吧,用来控制是否需要三方api (默认不需要),如果不需要就跳过安装PUPPETEER

hypergraphUniverse commented 1 year ago

感觉……不太对,脚本和程序之间的关联太弱了。一直让人查issue加参数,和开箱即用的想法可能有些背道而驰。 (但是确实npm必须要先于程主体运行,所以如何得知配置和信息也是个麻烦事)可能最好一起重新设计一下,包括那个commit版本管理的方法,感觉现在的解决都比较粗放。