Skip to content
This repository was archived by the owner on Nov 8, 2024. It is now read-only.

Commit d72a16e

Browse files
committed
修复无法获取任务的问题
1 parent 37f48ad commit d72a16e

File tree

3 files changed

+37
-40
lines changed

3 files changed

+37
-40
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/XiaoMengXinX/Fuck163MusicTasks/v2
33
go 1.17
44

55
require (
6-
github.com/XiaoMengXinX/Music163Api-Go v0.1.24
6+
github.com/XiaoMengXinX/Music163Api-Go v0.1.25
77
github.com/robfig/cron/v3 v3.0.1
88
github.com/sirupsen/logrus v1.8.1
99
)

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
github.com/XiaoMengXinX/Music163Api-Go v0.1.24 h1:tz4c4R8yVJTi8zVdGA7PsBXXU4YmT9iUE7dQjE53Jy8=
2-
github.com/XiaoMengXinX/Music163Api-Go v0.1.24/go.mod h1:kLU/CkLxKnEJFCge0URvQ0lHt6ImoG1/2aVeNbgV2RQ=
1+
github.com/XiaoMengXinX/Music163Api-Go v0.1.25 h1:Wli9RTuNTad73cKqLtYQdd1u7B+2MCTNSXF47nlPOXE=
2+
github.com/XiaoMengXinX/Music163Api-Go v0.1.25/go.mod h1:kLU/CkLxKnEJFCge0URvQ0lHt6ImoG1/2aVeNbgV2RQ=
33
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
44
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
55
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=

main.go

Lines changed: 34 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)