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