@@ -4,11 +4,6 @@ import (
44 "encoding/json"
55 "flag"
66 "fmt"
7- "github.com/XiaoMengXinX/Music163Api-Go/api"
8- "github.com/XiaoMengXinX/Music163Api-Go/types"
9- "github.com/XiaoMengXinX/Music163Api-Go/utils"
10- "github.com/robfig/cron/v3"
11- log "github.com/sirupsen/logrus"
127 "io"
138 "io/ioutil"
149 "math/rand"
@@ -17,6 +12,12 @@ import (
1712 "runtime"
1813 "strings"
1914 "time"
15+
16+ "github.com/XiaoMengXinX/Music163Api-Go/api"
17+ "github.com/XiaoMengXinX/Music163Api-Go/types"
18+ "github.com/XiaoMengXinX/Music163Api-Go/utils"
19+ "github.com/robfig/cron/v3"
20+ log "github.com/sirupsen/logrus"
2021)
2122
2223// LogFormatter 自定义 log 格式
@@ -202,7 +203,7 @@ func autoTasks(userData types.LoginStatusData, data utils.RequestData) error {
202203 return err
203204 }
204205 if strings .Contains (userDetail .CurrentExpert .RoleName , "网易音乐人" ) {
205- artistDetail , err := api .GetArtistDetail (data , int64 (userDetail .Profile .ArtistId ))
206+ artistDetail , err := api .GetArtistHomepage (data , int64 (userDetail .Profile .ArtistId ))
206207 parseCircleID (artistDetail )
207208 autoTasks , err := checkCloudBean (userData , data )
208209 if err != nil {
@@ -230,15 +231,15 @@ func autoTasks(userData types.LoginStatusData, data utils.RequestData) error {
230231 return nil
231232}
232233
233- func musicianTasks (userData types.LoginStatusData , data utils.RequestData , autoTasks []int , i int ) {
234+ func musicianTasks (userData types.LoginStatusData , data utils.RequestData , autoTasks []string , i int ) {
234235 defer func () {
235236 err := recover ()
236237 if err != nil {
237238 log .Errorln (err )
238239 }
239240 }()
240- switch autoTasks [ i ] {
241- case 749006 :
241+ switch {
242+ case strings . Contains ( autoTasks [ i ], "签到" ) :
242243 log .Printf ("[%s] 执行音乐人签到任务中" , userData .Profile .Nickname )
243244 result , err := api .MusicianSign (data )
244245 if err != nil {
@@ -249,14 +250,14 @@ func musicianTasks(userData types.LoginStatusData, data utils.RequestData, autoT
249250 } else {
250251 log .Printf ("[%s] 音乐人签到失败: %s" , userData .Profile .Nickname , result .Message )
251252 }
252- case 740004 :
253+ case strings . Contains ( autoTasks [ i ], "动态" ) :
253254 log .Printf ("[%s] 执行发送动态任务中" , userData .Profile .Nickname )
254255 err := sendEventTask (userData , data )
255256 if err != nil {
256257 log .Println (err )
257258 }
258259 log .Printf ("[%s] 发送动态任务执行完成" , userData .Profile .Nickname )
259- case 732004 :
260+ case strings . Contains ( autoTasks [ i ], "评论" ) :
260261 log .Printf ("[%s] 执行回复评论任务中" , userData .Profile .Nickname )
261262 commentConfig := api.CommentConfig {
262263 ResType : api .ResTypeMusic ,
@@ -269,21 +270,21 @@ func musicianTasks(userData types.LoginStatusData, data utils.RequestData, autoT
269270 log .Println (err )
270271 }
271272 log .Printf ("[%s] 发送回复评论执行完成" , userData .Profile .Nickname )
272- case 755001 :
273+ case strings . Contains ( autoTasks [ i ], "私信" ) :
273274 log .Printf ("[%s] 执行发送私信任务中" , userData .Profile .Nickname )
274275 err := sendMsgTask (userData , config .SendMsgConfig .UserID [processingUser ], data )
275276 if err != nil {
276277 log .Println (err )
277278 }
278279 log .Printf ("[%s] 发送私信任务执行完成" , userData .Profile .Nickname )
279- case 744005 :
280+ case strings . Contains ( autoTasks [ i ], "mlog" ) :
280281 log .Printf ("[%s] 执行发送 Mlog 任务中" , userData .Profile .Nickname )
281282 err := sendMlogTask (userData , data )
282283 if err != nil {
283284 log .Println (err )
284285 }
285286 log .Printf ("[%s] 发送 Mlog 任务执行完成" , userData .Profile .Nickname )
286- case 755000 :
287+ case strings . Contains ( autoTasks [ i ], "主创说" ) :
287288 log .Printf ("[%s] 执行发送主创说任务中" , userData .Profile .Nickname )
288289 commentConfig := api.CommentConfig {
289290 ResType : api .ResTypeMusic ,
@@ -295,7 +296,7 @@ func musicianTasks(userData types.LoginStatusData, data utils.RequestData, autoT
295296 log .Println (err )
296297 }
297298 log .Printf ("[%s] 发送主创说任务执行完成" , userData .Profile .Nickname )
298- case 740005 :
299+ case strings . Contains ( autoTasks [ i ], "云圈" ) :
299300 log .Printf ("[%s] 执行访问云圈任务中" , userData .Profile .Nickname )
300301 err := getCircleTask (data )
301302 if err != nil {
@@ -561,23 +562,23 @@ func vipGrowthpointTask(userData types.LoginStatusData, data utils.RequestData)
561562 return err
562563}
563564
564- func checkCloudBean (userData types.LoginStatusData , data utils.RequestData ) ([]int , error ) {
565+ func checkCloudBean (userData types.LoginStatusData , data utils.RequestData ) ([]string , error ) {
565566 cloudBeanData , err := api .GetCloudbeanNum (data )
566567 if err != nil {
567- return [] int {} , err
568+ return nil , err
568569 }
569570 log .Printf ("[%s] 账号当前云豆数: %d" , userData .Profile .Nickname , cloudBeanData .Data .CloudBean )
570571 log .Printf ("[%s] 获取音乐人任务中..." , userData .Profile .Nickname )
571572 dailyTasks , err := api .GetMusicianDailyTasks (data )
572573 if err != nil {
573- return [] int {} , err
574+ return nil , err
574575 }
575576 weeklyTasks , err := api .GetMusicianWeeklyTasks (data )
576577 if err != nil {
577- return [] int {} , err
578+ return nil , err
578579 }
579580 var isObtainCloudBean bool
580- var autoTasks []int
581+ var autoTasks []string
581582 for _ , task := range dailyTasks .Data .List {
582583 if task .Status == 20 {
583584 log .Printf ("[%s] 「%s」任务已完成, 正在领取云豆" , userData .Profile .Nickname , task .Description )
@@ -591,9 +592,9 @@ func checkCloudBean(userData types.LoginStatusData, data utils.RequestData) ([]i
591592 } else {
592593 log .Errorf ("[%s] 领取「%s」任务云豆失败: %s" , userData .Profile .Nickname , task .Description , result .Message )
593594 }
594- } else if autoTaskAvail (task .MissionId ) && task .Status != 100 {
595+ } else if autoTaskAvail (task .Description ) && task .Status != 100 {
595596 log .Printf ("[%s] 任务「%s」任务未完成或进行中" , userData .Profile .Nickname , task .Description )
596- autoTasks = append (autoTasks , task .MissionId )
597+ autoTasks = append (autoTasks , task .Description )
597598 }
598599 }
599600 for _ , task := range weeklyTasks .Data .List {
@@ -612,17 +613,17 @@ func checkCloudBean(userData types.LoginStatusData, data utils.RequestData) ([]i
612613 log .Errorf ("[%s] 领取「%s」任务云豆失败: %s" , userData .Profile .Nickname , task .Description , result .Message )
613614 }
614615 }
615- } else if autoTaskAvail (task .MissionId ) && task .Status != 100 {
616+ } else if autoTaskAvail (task .Description ) && task .Status != 100 {
616617 log .Printf ("[%s] 任务「%s」任务未完成或进行中" , userData .Profile .Nickname , task .Description )
617- autoTasks = append (autoTasks , task .MissionId )
618+ autoTasks = append (autoTasks , task .Description )
618619 }
619620 }
620621 }
621622 if isObtainCloudBean {
622623 time .Sleep (time .Duration (10 ) * time .Second )
623624 cloudBeanData , err = api .GetCloudbeanNum (data )
624625 if err != nil {
625- return [] int {} , err
626+ return nil , err
626627 }
627628 log .Printf ("[%s] 账号当前云豆数: %d" , userData .Profile .Nickname , cloudBeanData .Data .CloudBean )
628629 }
@@ -653,29 +654,25 @@ func checkPathExists(path string) bool {
653654 return false
654655}
655656
656- func parseCircleID (artistDetail types.ArtistDetailData ) {
657+ func parseCircleID (artistDetail types.ArtistHomepageData ) {
657658 for _ , d := range artistDetail .Data .Blocks {
658659 if d .Code == "PERSONAL_MY_CIRCLE" {
659660 for _ , creative := range d .Creatives {
660661 for _ , r := range creative .Resources {
661- if r .ResourceType != nil && r .ResourceId != nil {
662- if * r .ResourceType == "CIRCLE" && * r .ResourceId != "" {
663- circleID = * r .ResourceId
664- return
665- }
662+ if r .ResourceType == "CIRCLE" && r .ResourceId != "" {
663+ circleID = r .ResourceId
664+ return
666665 }
666+
667667 }
668668 }
669669 }
670670 }
671671}
672672
673- func autoTaskAvail (val int ) bool { //
674- availAutoTasks := []int {740004 , 744005 , 732004 , 755001 , 749006 , 755000 , 740005 }
675- for i := 0 ; i < len (availAutoTasks ); i ++ {
676- if val == availAutoTasks [i ] {
677- return true
678- }
673+ func autoTaskAvail (val string ) bool {
674+ if strings .Contains (val , "签到" ) || strings .Contains (val , "动态" ) || strings .Contains (val , "评论" ) || strings .Contains (val , "私信" ) || strings .Contains (val , "mlog" ) || strings .Contains (val , "主创说" ) || strings .Contains (val , "云圈" ) {
675+ return true
679676 }
680677 return false
681678}
0 commit comments