From e39db5696981b79d08d1373c3edc9d6b78e199ed Mon Sep 17 00:00:00 2001 From: vaalacat Date: Tue, 23 Apr 2024 11:30:28 +0000 Subject: [PATCH] feat: upgrade mod --- .drone.yml | 10 ++++++++-- models/user.go | 13 ++++++++++--- services/mc/mc.go | 2 +- services/tgbot/approve.go | 2 +- services/tgbot/get.go | 9 ++++++--- services/tgbot/reject.go | 2 +- services/utils/tg.go | 8 +++++++- 7 files changed, 34 insertions(+), 12 deletions(-) diff --git a/.drone.yml b/.drone.yml index 7df80bd..b2d6839 100644 --- a/.drone.yml +++ b/.drone.yml @@ -57,8 +57,11 @@ steps: - name: publish - amd64 image: git.vaala.cloud/vaalacat/drone-docker-buildx:24 privileged: true + environment: + HTTP_PROXY: http://10.10.0.17:7890 + HTTPS_PROXY: http://10.10.0.17:7890 settings: - mirror: https://dockerproxy.com + mirror: https://docker.lab.vaala.tech debug: true platforms: - linux/amd64 @@ -84,8 +87,11 @@ steps: - name: publish - arm64 image: git.vaala.cloud/vaalacat/drone-docker-buildx:24 privileged: true + environment: + HTTP_PROXY: http://10.10.0.17:7890 + HTTPS_PROXY: http://10.10.0.17:7890 settings: - mirror: https://dockerproxy.com + mirror: https://docker.lab.vaala.tech debug: true platforms: - linux/arm64 diff --git a/models/user.go b/models/user.go index 51eccff..d29aa2e 100644 --- a/models/user.go +++ b/models/user.go @@ -9,9 +9,9 @@ import ( type User struct { gorm.Model - TGID int64 `gorm:"unique"` - MCName string - Status int // 0: pending, 1: normal, 2: banned + TGID int64 `gorm:"column:tgid;NOT NULL;index"` + MCName string `gorm:"column:mc_name;NOT NULL;unique"` + Status int `gorm:"column:status;NOT NULL"` // 0: pending, 1: normal, 2: banned } func init() { @@ -24,6 +24,13 @@ func (u *User) TableName() string { return "users" } +func GetUsersByTGID(tgID int64) (users []User, err error) { + err = database.GetDB().Where( + &User{TGID: tgID}, + ).Find(&users).Error + return +} + func GetUserByTGID(tgID int64) (user User, err error) { err = database.GetDB().Where( &User{TGID: tgID}, diff --git a/services/mc/mc.go b/services/mc/mc.go index a38e3b3..9e1ca71 100644 --- a/services/mc/mc.go +++ b/services/mc/mc.go @@ -21,7 +21,7 @@ import ( func StartBridgeClient() { for { if err := Run(); err != nil { - utils.SendMsg("致命错误:" + err.Error()) + utils.SendMsgToGroup("致命错误:" + err.Error()) } time.Sleep(time.Second * 5) } diff --git a/services/tgbot/approve.go b/services/tgbot/approve.go index 46f8561..261b9cc 100644 --- a/services/tgbot/approve.go +++ b/services/tgbot/approve.go @@ -12,7 +12,7 @@ import ( ) func ApproveHandler(update tgbotapi.Update, cmd defs.Command) { - u, err := models.GetUserByTGID(update.CallbackQuery.From.ID) + u, err := models.GetUserByMCName(cmd.Argstr) if err != nil { return } diff --git a/services/tgbot/get.go b/services/tgbot/get.go index 71e0dc1..7196c0c 100644 --- a/services/tgbot/get.go +++ b/services/tgbot/get.go @@ -3,12 +3,14 @@ package tgbot import ( "fmt" "strconv" + "strings" "tg-mc/conf" "tg-mc/models" "tg-mc/services/utils" commonUtils "tg-mc/utils" tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5" + "github.com/samber/lo" "github.com/sirupsen/logrus" ) @@ -33,7 +35,7 @@ func GetHandler(msg *tgbotapi.Message, i interface{}) { conf.Bot.Send(tgbotapi.NewMessage(msg.Chat.ID, "ID错误,应该为int64")) return } - u, err := models.GetUserByTGID(tgid) + u, err := models.GetUsersByTGID(tgid) if err != nil { tm := tgbotapi.NewMessage(msg.Chat.ID, fmt.Sprintf("查询出错,err:\n```\n%+v\n```", err)) tm.ParseMode = "Markdown" @@ -59,13 +61,14 @@ func GetHandler(msg *tgbotapi.Message, i interface{}) { return } logrus.Infof("id is %d", msg.Chat.ID) - u, err := models.GetUserByTGID(msg.From.ID) + u, err := models.GetUsersByTGID(msg.From.ID) if err != nil { m := tgbotapi.NewMessage(msg.Chat.ID, "你还没有绑定") conf.Bot.Send(m) return } - m := tgbotapi.NewMessage(msg.Chat.ID, fmt.Sprintf("你的MCID是%v", u.MCName)) + ans := strings.Join(lo.Map(u, func(u models.User, _ int) string { return u.MCName }), "\n") + m := tgbotapi.NewMessage(msg.Chat.ID, fmt.Sprintf("你的MCID绑定有\n%v", ans)) conf.Bot.Send(m) return } diff --git a/services/tgbot/reject.go b/services/tgbot/reject.go index 2813cfa..804f886 100644 --- a/services/tgbot/reject.go +++ b/services/tgbot/reject.go @@ -12,7 +12,7 @@ import ( ) func RejectHandler(update tgbotapi.Update, cmd defs.Command) { - u, err := models.GetUserByTGID(update.CallbackQuery.From.ID) + u, err := models.GetUserByMCName(cmd.Argstr) if err != nil { return } diff --git a/services/utils/tg.go b/services/utils/tg.go index bfade3e..80ecde6 100644 --- a/services/utils/tg.go +++ b/services/utils/tg.go @@ -7,12 +7,18 @@ import ( "github.com/samber/lo" ) -func SendMsg(msg string) error { +func SendMsgToGroup(msg string) error { msgT := tgbotapi.NewMessage(conf.GetBotSettings().GroupID, msg) _, err := conf.Bot.Send(msgT) return err } +func SendMsg(chatID int64, msg string) error { + msgT := tgbotapi.NewMessage(chatID, msg) + _, err := conf.Bot.Send(msgT) + return err +} + func IsAdmin(m *tgbotapi.Message) bool { return lo.Contains(conf.GetBotSettings().AdminID, m.From.ID) || lo.Contains(conf.GetBotSettings().AdminID, m.Chat.ID)