mirror of
https://github.com/eryajf/chatgpt-dingtalk.git
synced 2025-10-15 12:42:04 +08:00
fix: 修复敏感词的替换显示问题(由于钉钉回复的消息格式已改为markdown格式,原替换为*的逻辑会有语法冲突) (#220)
This commit is contained in:
@@ -147,7 +147,7 @@ AIGC的热潮正在各行各业掀起巨大的变革,我们看到各大社群
|
||||
- 📝 查询对话:通过发送`#查对话 username:xxx`查询xxx的对话历史,可在线预览,可下载到本地
|
||||
- 👹 白名单机制:通过配置指定,支持指定群组名称和用户名称作为白名单,从而实现可控范围与机器人对话
|
||||
- 💂♀️ 管理员机制:通过配置指定管理员,部分敏感操作,以及一些应用配置,管理员有权限进行操作
|
||||
- ㊙️ 敏感词过滤:通过配置指定敏感词,提问时触发,则不允许提问,回答的内容中触发,则以`*`代替
|
||||
- ㊙️ 敏感词过滤:通过配置指定敏感词,提问时触发,则不允许提问,回答的内容中触发,则以 🚫 代替
|
||||
|
||||
## 使用前提
|
||||
|
||||
@@ -476,7 +476,7 @@ vip_users: []
|
||||
admin_users: []
|
||||
# 钉钉机器人在应用信息中的AppSecret,为了校验回调的请求是否合法,如果留空,将会忽略校验,则该接口将会存在其他人也能随意调用的安全隐患,因此强烈建议配置正确的secret,如果你的服务对接给多个机器人,这里可以配置多个机器人的secret
|
||||
app_secrets: []
|
||||
# 敏感词,提问时触发,则不允许提问,回答的内容中触发,则以 *** 代替
|
||||
# 敏感词,提问时触发,则不允许提问,回答的内容中触发,则以 🚫 代替
|
||||
sensitive_words: []
|
||||
# 帮助信息,放在配置文件,可供自定义
|
||||
help: "欢迎使用本工具\n\n你可以查看:[用户指南](https://github.com/eryajf/chatgpt-dingtalk/blob/main/docs/userGuide.md)\n\n这是一个[开源项目](https://github.com/eryajf/chatgpt-dingtalk/),觉得不错你可以来波素质三连."
|
||||
|
@@ -42,7 +42,7 @@ vip_users: []
|
||||
admin_users: []
|
||||
# 钉钉机器人在应用信息中的AppSecret,为了校验回调的请求是否合法,如果留空,将会忽略校验,则该接口将会存在其他人也能随意调用的安全隐患,因此强烈建议配置正确的secret,如果你的服务对接给多个机器人,这里可以配置多个机器人的secret
|
||||
app_secrets: []
|
||||
# 敏感词,提问时触发,则不允许提问,回答的内容中触发,则以 *** 代替
|
||||
# 敏感词,提问时触发,则不允许提问,回答的内容中触发,则以 🚫 代替
|
||||
sensitive_words: []
|
||||
# 帮助信息,放在配置文件,可供自定义
|
||||
help: "欢迎使用本工具\n\n你可以查看:[用户指南](https://github.com/eryajf/chatgpt-dingtalk/blob/main/docs/userGuide.md)\n\n这是一个[开源项目](https://github.com/eryajf/chatgpt-dingtalk/),觉得不错你可以来波素质三连."
|
||||
|
@@ -52,7 +52,7 @@ type Configuration struct {
|
||||
AdminUsers []string `yaml:"admin_users"`
|
||||
// 钉钉机器人在应用信息中的AppSecret,为了校验回调的请求是否合法,如果你的服务对接给多个机器人,这里可以配置多个机器人的secret
|
||||
AppSecrets []string `yaml:"app_secrets"`
|
||||
// 敏感词,提问时触发,则不允许提问,回答的内容中触发,则以 *** 代替
|
||||
// 敏感词,提问时触发,则不允许提问,回答的内容中触发,则以 🚫 代替
|
||||
SensitiveWords []string `yaml:"sensitive_words"`
|
||||
// 自定义帮助信息
|
||||
Help string `yaml:"help"`
|
||||
|
@@ -31,7 +31,7 @@ services:
|
||||
ADMIN_USERS: "" # 指定哪些人为此系统的管理员,如果留空,则表示没有人是管理员,如果要限制,则列表中写用户的userid
|
||||
# 注意:如果下边的app_secrets为空,以及使用outgoing的方式配置机器人,这两种情况下,都表示没有人是管理员
|
||||
APP_SECRETS: "" # 钉钉机器人在应用信息中的AppSecret,为了校验回调的请求是否合法,如果留空,将会忽略校验,则该接口将会存在其他人也能随意调用的安全隐患,因此强烈建议配置正确的secret,如果你的服务对接给多个机器人,这里可以配置多个机器人的secret,比如 "xxxx,yyyy"
|
||||
SENSITIVE_WORDS: "" # 敏感词,提问时触发,则不允许提问,回答的内容中触发,则以 *** 代替
|
||||
SENSITIVE_WORDS: "" # 敏感词,提问时触发,则不允许提问,回答的内容中触发,则以 🚫 代替
|
||||
AZURE_ON: "false" # 是否走Azure OpenAi API, 默认false ,如果为true,则需要配置下边的四个参数
|
||||
AZURE_API_VERSION: "" # Azure OpenAi API 版本,比如 "2023-03-15-preview"
|
||||
AZURE_RESOURCE_NAME: "" # Azure OpenAi API 资源名称,比如 "openai"
|
||||
|
@@ -155,7 +155,7 @@ func JudgeSensitiveWord(s string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// SolveSensitiveWord 将敏感词用*号占位
|
||||
// SolveSensitiveWord 将敏感词用 🚫 占位
|
||||
func SolveSensitiveWord(s string) string {
|
||||
for _, v := range Config.SensitiveWords {
|
||||
if strings.Contains(s, v) {
|
||||
@@ -165,11 +165,11 @@ func SolveSensitiveWord(s string) string {
|
||||
return s
|
||||
}
|
||||
|
||||
// 将对应敏感词替换为*
|
||||
// 将对应敏感词替换为 🚫
|
||||
func printStars(num int) string {
|
||||
s := ""
|
||||
for i := 0; i < num; i++ {
|
||||
s += "*"
|
||||
s += "🚫"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
Reference in New Issue
Block a user