Gu-code99 / NeteaseCloudMusicTasks

网易云音乐自动任务:刷等级、云贝、云豆等

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

网易云打卡升级

网易云音乐关注数 酷安关注数

功能

  1. 签到领云贝
  2. 自动完成云贝任务,并领取云贝
  3. 打卡升级
  4. 刷指定歌曲的播放量
  5. 音乐人自动签到领取云豆
  6. 音乐人自动完成任务,并领取云豆
  7. 自动领取 vip 成长值(任务需自己完成)
  8. 多种推送方式
  9. 支持多账号
  10. 支持腾讯云函数&本地运行

开发不易,如果你觉得本项目对你有用,可以点个 star,也可以到底部给个赞赏

一、部署到腾讯云函数

开通服务

首次使用云函数,依次登录 SCF 云函数控制台SLS 控制台 开通相关服务,确保账户下已开通服务并创建相应服务角色 SCF_QcsRole、SLS_QcsRole

注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要实名认证

获取密钥

在腾讯云API 密钥管理新建密钥,获取 SecretId 和 SecretKey

fork 本项目

在 GitHub 上 fork本项目

创建 Secrets

fork 之后,点击右上方settings,在页面点击Secrets,然后点击New repository secret 创建新的 secret。一共有 5 个 secret,前 2 个是必须要创建的,后 3 个可不创建

Name Value 是否必填
SECRET_ID 填写之前获取的 SecretId 必填
SECRET_KEY 填写之前获取的 SecretKey 必填
FUNCTION_NAME 自定义函数名 选填
CRON 定时触发器的时间 选填
REGION 地域,默认为 ap-guangzhou 选填

FUNCTION_NAME 为函数名,不填写默认为NeteaseCloudMusicTasks。如需更改,则创建此 secret,并填写自定义的函数名,命名规则:只能包含字母、数字、下划线、连字符,以字母开头,以数字或字母结尾,2~60 个字符。

如果之前在腾讯云函数里用上传压缩包的方式创建过该项目对应的函数,那么可以在 FUNCTION_NAME 里填写先前创建的函数名,更新会提交到先前的函数中,并自动同步配置文件。

CRON 默认为 0 30 0 * * * * 表示每天 0 点 30 分触发,可自行更改。比如:0 20 12 * * * * 表示每天 12 点 20 分触发,0 0 12,16 * * * * 表示每天 12 点和 16 点各触发一次。

REGION 默认为ap-guangzhou ,可不更改,可选的地域详见地域列表

部署

点击项目上方的Actions,点击All workflows下方的deploy(移动端要先点击Select workflow),再点击右侧Run workflow,在弹出的页面再次点击Run workflow,将会运行新的 workflow,点进这个 workflow,可以查看部署进度。

添加依赖

这里下载dependencies.zip这个文件,密码 6gck ,也可以自己用 pip 下载依赖,然后打包。然后在高级能力新建层名称可以自己任意填写,然后上传刚刚下载的压缩包,点击添加运行环境,选择Python3.6。在函数服务点进刚刚创建的函数,点击上方的层管理,点击绑定,选择刚刚创建的层。

修改配置

函数服务点进刚刚创建的函数,在编辑器里点击config.json这个文件进行配置,可以看到文件中有红色波浪线的错误提示,可以忽略不管,也可以下拉到编辑器的右下角,点击JSON来更改语言模式,选择JSON with Comments,这样就可以消除错误提示。在config.json里进行如下的账号配置

账号密码

"users":[
    {
        "username": "188xxxx8888",
        "countrycode": "",
        "md5": false,
        "password": "mypassword",
        "X-Real-IP": ""
    }
],
// ...

username里填写手机号或邮箱,password里填写账号密码,countrycode为手机号前缀,使用非**大陆的手机号登录需填写。如果使用的是加密后的密码,则需要将md5false改成trueX-Real-IP里填写国内任意 IP,否则可能会有无法登录等情况出现,可填写本机 IP,查看方法为:百度搜索 ip,填写显示的 ip 即可。

签到

"setting":{
    // ...
    "sign": true,
    // ...
}

签到默认开启,连续签到可以获得更多云贝。

刷听歌量

"setting":{
    // ...
    "daka":{
        "enable": true,
        "full_stop": true,
        "song_number": 300,
        // ...
    },
    // ...
}

每个账号每天最多只计算 300 首的听歌量,而且必须是没有听过的歌曲。enable表示开启刷听歌量的任务,full_stop表示满级后自动停止任务,无需手动将enable设为falsesong_number表示每次要刷的歌曲数量,账号等级较低的时候可以设置得小一点,不然等级高的时候就难刷了,可能较难刷满 300 首。

云贝任务

"setting":{
    // ...
    "yunbei_task": {
        "发布动态": {
            "enable":false,
            // 需要分享的歌单id
            "id": [],
            "msg": ["每日分享","今日分享","分享歌单"],
            "delete": true
        },
        "访问云音乐商城": {
            "enable": true
        },
        "云贝推歌": {
            "enable": true,
            "taskName": "云贝推歌",
            // 填写歌曲ID
            "songId": [],
            "yunbeiNum": 10,
            "reason": []
        },
        "发布Mlog": {
            "enable": false,
            "taskName": "发布Mlog",
            // 填写歌曲ID
            "songId": [],
            /* 动态内容,随机选取一个,其中$artist会被替换为歌手名,$song会被替换为歌曲名 */
            "text": [
                "分享$artist的歌曲: $song",
                "分享歌曲: $song"
            ],
            /* 图片大小,越大则消耗的外网出流量越多 */
            "size": 500,
            /* 发布成功后是否自动删除该动态 */
            "delete": true
        }
    },
    // ...
}

发布动态任务要分享歌单,可获得 5 云贝,可通过将enable设为true开启,id要填写需要分享的歌单 id,可不填写,随机送推荐歌单中选取。delete表示动态发布之后自动删除。

访问云音乐商城任务可获得 2 云贝。

云贝推歌任务使用云贝对喜欢的歌曲进行推荐,可获得 10 云贝。songId填写喜欢的歌曲 id,如[65528, 64634],程序将会随机挑选一首歌,yunbeiNum是要使用的云贝数量,一般为10reason填写推歌理由。

发布Mlog 根据填写的歌曲 ID,自动下载歌曲对应的专辑图片,并上传。songId填写歌曲 id,如[65528, 64634]text填写动态内容

音乐人任务

"setting": {
    // ...
    "musician_task": {
        "登录音乐人中心": {
            "enable": true
        },
        "发布动态": {
            "enable": false,
            // 自定义要分享的歌单id,用逗号隔开,分享时随机选取一个,若为空,则从每日推荐歌单中随机选取
            "id": [],
            "msg": ["每日分享","今日分享","分享歌单"],
            "delete": true
        },
        "发布主创说": {
            "enable": false,
            // 填写你自己歌曲的id,如有多首用,隔开,随机挑选一首
            "id": [],
            "msg": ["感谢大家收听"],
            "delete": true
        },
        "回复粉丝评论": {
            "enable": false,
            // 填写你自己歌曲的id,如有多首用,隔开,随机挑选一首
            "id": [],
            "msg": ["感谢收听"],
            "delete": true
        },
        "回复粉丝私信": {
            "enable": false,
            // 填写粉丝的用户id,如有多个用,隔开,随机挑选一个进行回复,可以用自己的小号
            "id": [],
            "msg": ["你好"]
        }
    },
    // ...
}

需要是音乐人才能执行,想要开启相应的任务,需要将enablefalse改为true登录音乐人中心自动开启,其他任务根据实际情况开启。登录音乐人中心即签到获取云豆;发布动态即转发歌单;发布主创说即在自己的歌曲评论区留言;回复粉丝评论即在自己歌曲的评论区回复粉丝留言,该任务是通过回复自己的留言实现的;回复粉丝私信需要填写粉丝 id,可用小号。

推送

支持四种推送方式,建议使用企业微信进行推送

  1. 企业微信
  2. server 酱
  3. 酷推
  4. pushPlus

使用 API 网关触发时默认关闭所有推送,您可以自行设置

"setting":{
    "stopPushOnAPIGateway": true,
}

true改为false即可在 API 网关触发时仍然进行消息的推送。API 网关相关内容详见API 网关触发

企业微信
"setting":{
    // ...
    "WeCom": {
        "enable": true,
        "corpid": "",
        "agentid": "",
        "secret": "",
        "userid": "@all",
        "msgtype": "text"
    },
    // ...
}

注册企业微信账号可参考这里

corpid为企业 ID,登录企业微信后在管理后台我的企业企业信息下查看;agentid为应用 ID,在应用管理里,点进相应的应用可查看;secret为应用密钥,在应用管理里,点进相应的应用可查看;userid默认为@all,会向该企业应用的全部成员发送;msgtype为消息类型,可填写文本消息text、文本卡片消息textcard或 markdown 消息markdown,markdown 消息不能在微信里查看,只能在企业微信里查看。

server 酱
"setting": {
    // ...
    "serverChan": {
        "enable": true,
        "KEY": ""
    },
    // ...
}

要使用 server 酱的话需要在KEY里填写旧版的 SCKEY 或新版的 SendKey。

酷推
"setting": {
    // ...
    "CoolPush": {
        "enable": true,
        "method": ["send"],
        "Skey": ""
    },
    // ...
}

要使用酷推的话需要填写Skey

pushPlus 微信推送
"setting": {
    // ...
    "pushPlus": {
        "enable": true,
        "pushToken": ""
    }
    // ...
}

要使用酷推的话需要填写pushToken

刷单曲播放量

"setting": {
    // ...
    "other": {
        /* 刷歌单中歌曲的播放次数,用来改变听歌风格,仅在需要时使用 */
        "play_playlists": {
            "enable": false,
            /* 歌单id,用逗号隔开,如 [5279371062,5279377564] */
            "playlist_ids": [],
            /* 播放次数 */
            "times": 1
        }
    },
    // ...
}

将要刷的歌曲加到歌单中,把歌单 id 填写到playlist_ids中,可以添加多个歌单 id,用英文逗号隔开,如"playlist_ids":[5279371062,5279377564]。该功能可以用来改变听歌风格。

多账号

"users": [
    {
        "username": "188xxxx8888",
        "md5": false,
        "password": "mypassword"
    },
    {
        "username": "166xxxx6666",
        "md5": false,
        "password": "anotherpassword"
    }
],
// ...

多账号需要删除第二个账号前后的\**\注释,如上所示。如果不会使用,可以每个账号创建一个相应的云函数。

关注作者

"setting": {
    // ...
    "follow": true
    // ...
}

默认会在网易云音乐中关注我,不喜欢的可自行取消。

测试

修改完代码后,按 ctrl+s 保存代码,然后点击编辑器右上角的部署(每次修改完都要重新部署),左下角的部署也行。部署完成后点击部署旁边的测试按钮,观察结果,如果失败则检查修改代码。

API 网关触发

如果需要 API 网关触发,点击触发管理,再点击创建触发器触发方式选择API网关触发,点击提交。可以看到一个访问路径,访问该链接,即可运行云函数。使用这种方式,无需登录腾讯云,即可随时随地运行。

计费方式

更新代码

在 GitHub 项目页面点击Fetch upstream - Fetch and merge,然后再到Actions部署。重新部署之后,配置文件自动同步,无需再次填写,但注释会被删除,如果需要修改配置文件,可以参考config.example.json文件中的注释。进入到云函数中时,如果提醒“检测到当前工作区函数和已部署函数不一致,重新加载已部署函数?”,点击确认即可。

二、本地运行

下载

git clone https://github.com/chen310/NeteaseCloudMusicTasks.git

安装依赖

pip install -r requirements.txt

运行

python index.py

其他

打卡数不够 300 首

可能的原因

  1. 数据延迟导致结果显示不准确,可稍候到网易云 APP 中查看
  2. 每天上限 300 首,如果打卡之前在网易云音乐中听过歌或多次打卡,可能导致此次打卡无法达到 300 的上限
  3. 歌单中的一部分歌曲可能之前听过,因此不再重复记录

对日推的影响

打卡功能可能会影响日推,介意慎用。

云函数免费额度及计费方式

在云函数概览界面,可以查看本月剩余免费额度

发放时间 计费项 免费额度
前三个月(包含开通当月)每月 调用次数 100万次(事件函数和 Web 函数各100万次)
资源使用量 40万GBs
外网出流量 1GB
开通三个月后每月 调用次数 10万次(事件函数和 Web 函数各5万次)
资源使用量 2万GBs
外网出流量 0.5GB

详见计费概述

赞赏

微信

支付宝红包

饿了么红包

声明

  • 本仓库中的脚本仅用于测试和学习目的,请勿用于商业或非法目的,否则后果自负
  • 如果您认为该项目的脚本可能涉嫌侵犯您的权利,请及时通知,我们将在确认后及时删除

灵感来源

  1. 网易云音乐 API
  2. NetEase-MusicBox

About

网易云音乐自动任务:刷等级、云贝、云豆等


Languages

Language:Python 96.4%Language:Shell 3.6%