diff --git a/pkg/process/db.go b/pkg/process/db.go index 9c2d463..b2f4667 100644 --- a/pkg/process/db.go +++ b/pkg/process/db.go @@ -46,7 +46,7 @@ func SelectHistory(rmsg *dingbot.ReceiveMsg) error { if chatTmp.ChatType == 1 { rst += fmt.Sprintf("## 🙋 %s 问\n\n**时间:** %v\n\n**问题为:** %s\n\n", chatTmp.Username, ctime, chatTmp.Content) } else { - rst += fmt.Sprintf("## 🤖 机器人答\n\n**时间:** %v\n\n**回答如下:** \n\n%s\n\n", ctime, chatTmp.Content) + rst += fmt.Sprintf("## 🤖 机器人 答\n\n**时间:** %v\n\n**回答如下:** \n\n%s\n\n", ctime, chatTmp.Content) } // TODO: 答案应该严格放在问题之后,目前只根据ID排序进行的陈列,当一个用户同时提出多个问题时,最终展示的可能会有点问题 } @@ -57,7 +57,7 @@ func SelectHistory(rmsg *dingbot.ReceiveMsg) error { } // 回复@我的用户 reply := fmt.Sprintf("- 在线查看: [点我](%s)\n- 下载文件: [点我](%s)\n- 在线预览请安装插件:[Markdown Preview Plus](https://chrome.google.com/webstore/detail/markdown-preview-plus/febilkbfcbhebfnokafefeacimjdckgl)", public.Config.ServiceURL+"/history/"+fileName, public.Config.ServiceURL+"/download/"+fileName) - logger.Info(fmt.Sprintf("🤖 %s得到的答案: %#v", rmsg.SenderNick, reply)) + logger.Info(fmt.Sprintf("🤖 %s 得到的答案: %#v", rmsg.SenderNick, reply)) _, err = rmsg.ReplyToDingtalk(string(dingbot.MARKDOWN), reply) if err != nil { logger.Error(fmt.Errorf("send message error: %v", err)) diff --git a/pkg/process/process_request.go b/pkg/process/process_request.go index bdb183d..8f362fb 100644 --- a/pkg/process/process_request.go +++ b/pkg/process/process_request.go @@ -49,7 +49,7 @@ func ProcessRequest(rmsg *dingbot.ReceiveMsg) error { logger.Warning(fmt.Errorf("send message error: %v", err)) } case "图片": - _, err := rmsg.ReplyToDingtalk(string(dingbot.MARKDOWN), "发送以 **#图片** 开头的内容,将会触发绘画能力,图片生成之后,将会保存在程序根目录下的 **images目录** \n 如果你绘图没有思路,可以在这两个网站寻找灵感。\n - [https://lexica.art/](https://lexica.art/)\n- [https://www.clickprompt.org/zh-CN/](https://www.clickprompt.org/zh-CN/)") + _, err := rmsg.ReplyToDingtalk(string(dingbot.MARKDOWN), "发送以 **#图片** 开头的内容,将会触发绘画能力,图片生成之后,将会通过消息回复给您。\n 如果你绘图没有思路,可以在这两个网站寻找灵感。\n - [https://lexica.art/](https://lexica.art/)\n- [https://www.clickprompt.org/zh-CN/](https://www.clickprompt.org/zh-CN/)") if err != nil { logger.Warning(fmt.Errorf("send message error: %v", err)) } @@ -109,7 +109,7 @@ func Do(mode string, rmsg *dingbot.ReceiveMsg) error { logger.Info(fmt.Errorf("gpt request error: %v", err)) if strings.Contains(fmt.Sprintf("%v", err), "maximum text length exceeded") { public.UserService.ClearUserSessionContext(rmsg.GetSenderIdentifier()) - _, err = rmsg.ReplyToDingtalk(string(dingbot.TEXT), fmt.Sprintf("请求openai失败了,错误信息:%v,看起来是超过最大对话限制了,已自动重置您的对话", err)) + _, err = rmsg.ReplyToDingtalk(string(dingbot.TEXT), fmt.Sprintf("请求openai失败了,错误信息:%v,看起来是超过最大对话限制了,已自动重置您的对话,现在您可以继续提问了。", err)) if err != nil { logger.Warning(fmt.Errorf("send message error: %v", err)) return err @@ -165,7 +165,7 @@ func Do(mode string, rmsg *dingbot.ReceiveMsg) error { logger.Info(fmt.Sprintf("gpt request error: %v", err)) if strings.Contains(fmt.Sprintf("%v", err), "maximum text length exceeded") { public.UserService.ClearUserSessionContext(rmsg.GetSenderIdentifier()) - _, err = rmsg.ReplyToDingtalk(string(dingbot.TEXT), fmt.Sprintf("请求openai失败了,错误信息:%v,看起来是超过最大对话限制了,已自动重置您的对话", err)) + _, err = rmsg.ReplyToDingtalk(string(dingbot.TEXT), fmt.Sprintf("请求openai失败了,错误信息:%v,看起来是超过最大对话限制了,已自动重置您的对话,现在您可以继续提问了。", err)) if err != nil { logger.Warning(fmt.Errorf("send message error: %v", err)) return err diff --git a/public/public.go b/public/public.go index 7c4a02c..0f53db2 100644 --- a/public/public.go +++ b/public/public.go @@ -23,52 +23,4 @@ func InitSvc() { // if Config.Model == openai.GPT3Dot5Turbo0301 || Config.Model == openai.GPT3Dot5Turbo { // _, _ = GetBalance() // } -} - -var Welcome string = `# 发送信息 - -若您想给机器人发送信息,有如下两种方式: - -1. 在本机器人所在群里@机器人; -2. 点击机器人的头像后,再点击"发消息"。 - -机器人收到您的信息后,默认会交给chatgpt进行处理。除非,您发送的内容是如下**系统指令**之一。 - ------ - -# 系统指令 - -系统指令是一些特殊的词语,当您向机器人发送这些词语时,会触发对应的功能: - -**单聊**:每条消息都是单独的对话,不包含上下文 - -**串聊**:对话会携带上下文,除非您主动重置对话或对话长度超过限制 - -**重置**:重置上下文 - -**余额**: ~~查询机器人所用OpenAI账号的余额~~ (暂不可用) - -**模板**:查询机器人内置的快捷模板 - -**图片**:查看如何根据提示词生成图片 - -**查对话**:获取指定人员的对话历史 - -**帮助**:重新获取帮助信息 - ------ - -# 友情提示 - -使用"串聊模式"会显著加快机器人所用账号的余额消耗速度。 - -因此,若无保留上下文的需求,建议使用"单聊模式"。 - -即使有保留上下文的需求,也应适时使用"重置"指令来重置上下文。 - ------ - -# 项目地址 - -本项目已在GitHub开源,[查看源代码](https://github.com/eryajf/chatgpt-dingtalk)。 -` +} \ No newline at end of file