mirror of
https://github.com/eryajf/chatgpt-dingtalk.git
synced 2025-10-07 17:10:52 +08:00
perf: 优化一些回复信息及信息记录,移除不再使用的欢迎代码 (#179)
This commit is contained in:
@@ -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))
|
||||
|
@@ -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
|
||||
|
@@ -24,51 +24,3 @@ func InitSvc() {
|
||||
// _, _ = GetBalance()
|
||||
// }
|
||||
}
|
||||
|
||||
var Welcome string = `# 发送信息
|
||||
|
||||
若您想给机器人发送信息,有如下两种方式:
|
||||
|
||||
1. 在本机器人所在群里@机器人;
|
||||
2. 点击机器人的头像后,再点击"发消息"。
|
||||
|
||||
机器人收到您的信息后,默认会交给chatgpt进行处理。除非,您发送的内容是如下**系统指令**之一。
|
||||
|
||||
-----
|
||||
|
||||
# 系统指令
|
||||
|
||||
系统指令是一些特殊的词语,当您向机器人发送这些词语时,会触发对应的功能:
|
||||
|
||||
**单聊**:每条消息都是单独的对话,不包含上下文
|
||||
|
||||
**串聊**:对话会携带上下文,除非您主动重置对话或对话长度超过限制
|
||||
|
||||
**重置**:重置上下文
|
||||
|
||||
**余额**: ~~查询机器人所用OpenAI账号的余额~~ (暂不可用)
|
||||
|
||||
**模板**:查询机器人内置的快捷模板
|
||||
|
||||
**图片**:查看如何根据提示词生成图片
|
||||
|
||||
**查对话**:获取指定人员的对话历史
|
||||
|
||||
**帮助**:重新获取帮助信息
|
||||
|
||||
-----
|
||||
|
||||
# 友情提示
|
||||
|
||||
使用"串聊模式"会显著加快机器人所用账号的余额消耗速度。
|
||||
|
||||
因此,若无保留上下文的需求,建议使用"单聊模式"。
|
||||
|
||||
即使有保留上下文的需求,也应适时使用"重置"指令来重置上下文。
|
||||
|
||||
-----
|
||||
|
||||
# 项目地址
|
||||
|
||||
本项目已在GitHub开源,[查看源代码](https://github.com/eryajf/chatgpt-dingtalk)。
|
||||
`
|
||||
|
Reference in New Issue
Block a user