A-kirami / nonebot-plugin-chatgpt

MIT License
319 stars 37 forks source link

[BUG]: 传入消息少了第一个字【附解决方法】 #129

Open QNLanYang opened 1 year ago

QNLanYang commented 1 year ago

报告清单

影响版本

0.7.4

问题描述

我想问chatgpt的话在传输给chatgpt的时候丢失了第一个字

复现步骤

首先我的环境配置如下以便复现 我的nonebot参数COMMAND_START = ["."](英文的句点) 我的chatgpt插件参数CHATGPT_COMMAND = "." ,CHATGPT_TO_ME保持默认 即需要触发插件需要用如下格式: 【@bot】+【.】+【.】+【这是一个测试语句】 然后就按正常流程给bot发消息

预期行为

应该把【这是一个测试语句】传递给ChatGPT

实际行为

但是传入的只有【是一个测试语句】,少了第一个字

日志信息

没有错误日志,一切似乎正常发生

额外补充

应该是写在这里吧,我通过检查代码以及变量发现了这个问题可能是出在这里: init.py中第63、64行: image 通过输出日志的方式我发现在62行中提取纯文本就已经剔除了所有的前缀(艾特的CQ消息、COMMAND-START以及CHATGPT-COMMAND)经过63、64行后将变量text中开头的gpt-cmd长度的文字剔除掉反而使文本丢失了开头。 将这两行注释掉即可恢复正常。 我所说的情况只针对我的配置,具体原因希望开发者再详细测试一下。