mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2026-02-12 10:10:25 +00:00
🎨 优化代码结构
This commit is contained in:
@@ -95,23 +95,22 @@ func (ThirdCategory) TableName() string {
|
||||
}
|
||||
|
||||
// GetAllFirstCategoryMessage 取出所有vtb
|
||||
func (vdb *VtbDB) GetAllFirstCategoryMessage() string {
|
||||
func (vdb *VtbDB) GetAllFirstCategoryMessage() (string, error) {
|
||||
db := (*gorm.DB)(vdb)
|
||||
firstStepMessage := "请选择一个vtb并发送序号:\n"
|
||||
var fcl []FirstCategory
|
||||
err := db.Debug().Model(&FirstCategory{}).Find(&fcl).Error
|
||||
if err != nil {
|
||||
log.Errorln("[vtb/model]数据库读取错误", err)
|
||||
return ""
|
||||
return "", err
|
||||
}
|
||||
for _, v := range fcl {
|
||||
firstStepMessage += strconv.FormatInt(v.FirstCategoryIndex, 10) + ". " + v.FirstCategoryName + "\n"
|
||||
}
|
||||
return firstStepMessage
|
||||
return firstStepMessage, nil
|
||||
}
|
||||
|
||||
// GetAllSecondCategoryMessageByFirstIndex 取得同一个vtb所有语录类别
|
||||
func (vdb *VtbDB) GetAllSecondCategoryMessageByFirstIndex(firstIndex int) string {
|
||||
func (vdb *VtbDB) GetAllSecondCategoryMessageByFirstIndex(firstIndex int) (string, error) {
|
||||
db := (*gorm.DB)(vdb)
|
||||
secondStepMessage := "请选择一个语录类别并发送序号:\n"
|
||||
var scl []SecondCategory
|
||||
@@ -119,17 +118,16 @@ func (vdb *VtbDB) GetAllSecondCategoryMessageByFirstIndex(firstIndex int) string
|
||||
db.Model(FirstCategory{}).Where("first_category_index = ?", firstIndex).First(&fc)
|
||||
err := db.Debug().Model(&SecondCategory{}).Find(&scl, "first_category_uid = ?", fc.FirstCategoryUID).Error
|
||||
if err != nil || len(scl) == 0 {
|
||||
log.Errorln("[vtb/model]数据库读取错误", err)
|
||||
return ""
|
||||
return "", err
|
||||
}
|
||||
for _, v := range scl {
|
||||
secondStepMessage += strconv.FormatInt(v.SecondCategoryIndex, 10) + ". " + v.SecondCategoryName + "\n"
|
||||
}
|
||||
return secondStepMessage
|
||||
return secondStepMessage, nil
|
||||
}
|
||||
|
||||
// GetAllThirdCategoryMessageByFirstIndexAndSecondIndex 取得同一个vtb同个类别的所有语录
|
||||
func (vdb *VtbDB) GetAllThirdCategoryMessageByFirstIndexAndSecondIndex(firstIndex, secondIndex int) string {
|
||||
func (vdb *VtbDB) GetAllThirdCategoryMessageByFirstIndexAndSecondIndex(firstIndex, secondIndex int) (string, error) {
|
||||
db := (*gorm.DB)(vdb)
|
||||
thirdStepMessage := "请选择一个语录并发送序号:\n"
|
||||
var fc FirstCategory
|
||||
@@ -137,13 +135,12 @@ func (vdb *VtbDB) GetAllThirdCategoryMessageByFirstIndexAndSecondIndex(firstInde
|
||||
var tcl []ThirdCategory
|
||||
err := db.Debug().Model(&ThirdCategory{}).Find(&tcl, "first_category_uid = ? and second_category_index = ?", fc.FirstCategoryUID, secondIndex).Error
|
||||
if err != nil || len(tcl) == 0 {
|
||||
log.Errorln("[vtb/model]数据库读取错误", err)
|
||||
return ""
|
||||
return "", err
|
||||
}
|
||||
for _, v := range tcl {
|
||||
thirdStepMessage = thirdStepMessage + strconv.FormatInt(v.ThirdCategoryIndex, 10) + ". " + v.ThirdCategoryName + "\n"
|
||||
}
|
||||
return thirdStepMessage
|
||||
return thirdStepMessage, nil
|
||||
}
|
||||
|
||||
// GetThirdCategory ...
|
||||
@@ -182,32 +179,28 @@ func (vdb *VtbDB) Close() error {
|
||||
const vtbURL = "https://vtbkeyboard.moe/api/get_vtb_list"
|
||||
|
||||
// GetVtbList ...
|
||||
func (vdb *VtbDB) GetVtbList() (uidList []string) {
|
||||
func (vdb *VtbDB) GetVtbList() (uidList []string, err error) {
|
||||
db := (*gorm.DB)(vdb)
|
||||
client := &http.Client{}
|
||||
req, err := http.NewRequest("GET", vtbURL, nil)
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
return
|
||||
}
|
||||
// 自定义Header
|
||||
req.Header.Set("User-Agent", web.RandUA())
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
return
|
||||
}
|
||||
|
||||
defer resp.Body.Close()
|
||||
bytes, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
return
|
||||
}
|
||||
|
||||
vtbListStr, err := strconv.Unquote(strings.ReplaceAll(strconv.Quote(string(bytes)), `\\u`, `\u`))
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -240,37 +233,33 @@ func (vdb *VtbDB) GetVtbList() (uidList []string) {
|
||||
uidList = append(uidList, fc.FirstCategoryUID)
|
||||
}
|
||||
|
||||
return uidList
|
||||
return
|
||||
}
|
||||
|
||||
// StoreVtb ...
|
||||
func (vdb *VtbDB) StoreVtb(uid string) {
|
||||
func (vdb *VtbDB) StoreVtb(uid string) (err error) {
|
||||
db := (*gorm.DB)(vdb)
|
||||
vtbURL := "https://vtbkeyboard.moe/api/get_vtb_page?uid=" + uid
|
||||
client := &http.Client{}
|
||||
req, err := http.NewRequest("GET", vtbURL, nil)
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
return
|
||||
}
|
||||
// 自定义Header
|
||||
req.Header.Set("User-Agent", web.RandUA())
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
return
|
||||
}
|
||||
|
||||
defer resp.Body.Close()
|
||||
bytes, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
return
|
||||
}
|
||||
|
||||
vtbStr, err := strconv.Unquote(strings.ReplaceAll(strconv.Quote(string(bytes)), `\\u`, `\u`))
|
||||
if err != nil {
|
||||
log.Errorln(err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -333,4 +322,5 @@ func (vdb *VtbDB) StoreVtb(uid string) {
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user