mirror of
https://github.com/eryajf/chatgpt-dingtalk.git
synced 2025-10-13 11:53:50 +08:00
fix: 初始化时没有data目录的问题,暂时注释余额功能及其他修复 (#162)
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
package db
|
package db
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
"github.com/eryajf/chatgpt-dingtalk/pkg/logger"
|
"github.com/eryajf/chatgpt-dingtalk/pkg/logger"
|
||||||
"github.com/glebarez/sqlite"
|
"github.com/glebarez/sqlite"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
@@ -24,6 +26,10 @@ func dbAutoMigrate() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ConnSqlite() *gorm.DB {
|
func ConnSqlite() *gorm.DB {
|
||||||
|
err := os.MkdirAll("data", 0755)
|
||||||
|
if err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
db, err := gorm.Open(sqlite.Open("data/dingtalkbot.sqlite"), &gorm.Config{
|
db, err := gorm.Open(sqlite.Open("data/dingtalkbot.sqlite"), &gorm.Config{
|
||||||
// 禁用外键(指定外键时不会在mysql创建真实的外键约束)
|
// 禁用外键(指定外键时不会在mysql创建真实的外键约束)
|
||||||
DisableForeignKeyConstraintWhenMigrating: true,
|
DisableForeignKeyConstraintWhenMigrating: true,
|
||||||
|
@@ -55,22 +55,28 @@ 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 "余额":
|
||||||
cacheMsg := public.UserService.GetUserMode("system_balance")
|
// cacheMsg := public.UserService.GetUserMode("system_balance")
|
||||||
if cacheMsg == "" {
|
// if cacheMsg == "" {
|
||||||
rst, err := public.GetBalance()
|
// rst, err := public.GetBalance()
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
logger.Warning(fmt.Errorf("get balance error: %v", err))
|
// logger.Warning(fmt.Errorf("get balance error: %v", err))
|
||||||
return err
|
// return err
|
||||||
}
|
// }
|
||||||
t1 := time.Unix(int64(rst.Grants.Data[0].EffectiveAt), 0)
|
// t1 := time.Unix(int64(rst.Grants.Data[0].EffectiveAt), 0)
|
||||||
t2 := time.Unix(int64(rst.Grants.Data[0].ExpiresAt), 0)
|
// t2 := time.Unix(int64(rst.Grants.Data[0].ExpiresAt), 0)
|
||||||
cacheMsg = fmt.Sprintf("💵 已用: 💲%v\n💵 剩余: 💲%v\n⏳ 有效时间: 从 %v 到 %v\n", fmt.Sprintf("%.2f", rst.TotalUsed), fmt.Sprintf("%.2f", rst.TotalAvailable), t1.Format("2006-01-02 15:04:05"), t2.Format("2006-01-02 15:04:05"))
|
// cacheMsg = fmt.Sprintf("💵 已用: 💲%v\n💵 剩余: 💲%v\n⏳ 有效时间: 从 %v 到 %v\n", fmt.Sprintf("%.2f", rst.TotalUsed), fmt.Sprintf("%.2f", rst.TotalAvailable), t1.Format("2006-01-02 15:04:05"), t2.Format("2006-01-02 15:04:05"))
|
||||||
}
|
// }
|
||||||
|
cacheMsg := "官方暂时改写了余额接口,因此暂不提供查询余额功能!2023-04-03"
|
||||||
_, err := rmsg.ReplyToDingtalk(string(dingbot.TEXT), cacheMsg)
|
_, err := rmsg.ReplyToDingtalk(string(dingbot.TEXT), cacheMsg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Warning(fmt.Errorf("send message error: %v", err))
|
logger.Warning(fmt.Errorf("send message error: %v", err))
|
||||||
}
|
}
|
||||||
|
case "查对话":
|
||||||
|
msg := "使用如下指令进行查询:\n\n---\n\n**#查对话 username:张三**\n\n---\n\n需要注意格式必须严格与上边一致,否则会查询失败\n\n只有钉钉管理员,程序系统管理员,与查自己的情况下,才会被允许"
|
||||||
|
_, err := rmsg.ReplyToDingtalk(string(dingbot.MARKDOWN), msg)
|
||||||
|
if err != nil {
|
||||||
|
logger.Warning(fmt.Errorf("send message error: %v", err))
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
if public.FirstCheck(rmsg) {
|
if public.FirstCheck(rmsg) {
|
||||||
return Do("串聊", rmsg)
|
return Do("串聊", rmsg)
|
||||||
|
@@ -87,12 +87,14 @@ var Welcome string = `# 发送信息
|
|||||||
|
|
||||||
**重置**:重置上下文
|
**重置**:重置上下文
|
||||||
|
|
||||||
**余额**:查询机器人所用OpenAI账号的余额
|
**余额**: ~~查询机器人所用OpenAI账号的余额~~ (暂不可用)
|
||||||
|
|
||||||
**模板**:查询机器人内置的快捷模板
|
**模板**:查询机器人内置的快捷模板
|
||||||
|
|
||||||
**图片**:查看如何根据提示词生成图片
|
**图片**:查看如何根据提示词生成图片
|
||||||
|
|
||||||
|
**查对话**:获取指定人员的对话历史
|
||||||
|
|
||||||
**帮助**:重新获取帮助信息
|
**帮助**:重新获取帮助信息
|
||||||
|
|
||||||
-----
|
-----
|
||||||
|
@@ -52,7 +52,8 @@ func JudgeUsers(s string) bool {
|
|||||||
|
|
||||||
// JudgeAdminUsers 判断用户是否为系统管理员
|
// JudgeAdminUsers 判断用户是否为系统管理员
|
||||||
func JudgeAdminUsers(s string) bool {
|
func JudgeAdminUsers(s string) bool {
|
||||||
if len(Config.AllowGroups) == 0 {
|
// 如果没有指定,则没有人是管理员
|
||||||
|
if len(Config.AdminUsers) == 0 {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
for _, v := range Config.AdminUsers {
|
for _, v := range Config.AdminUsers {
|
||||||
|
Reference in New Issue
Block a user