- 签到领云贝
- 自动完成云贝任务,并领取云贝
- 打卡升级
- 刷指定歌曲的播放量
- 音乐人自动签到领取云豆
- 音乐人自动完成任务,并领取云豆
- 自动领取vip成长值(任务需自己完成)
- 多种推送方式
- 支持多账号
- 支持腾讯云函数&本地运行
开发不易,如果你觉得本项目对你有用,可以点个star,也可以到底部给个赞赏
首次使用云函数,依次登录 SCF 云函数控制台 和 SLS 控制台 开通相关服务,确保账户下已开通服务并创建相应服务角色 SCF_QcsRole、SLS_QcsRole
注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要实名认证。
在腾讯云API密钥管理新建密钥,获取 SecretId 和 SecretKey
在GitHub上fork本项目
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
为手机号前缀,使用非中国大陆的手机号登录需填写。如果使用的是加密后的密码,则需要将md5
的false
改成true
,X-Real-IP
里填写国内任意IP,否则可能会有无法登录等情况出现,可填写本机IP,查看方法为:百度搜索ip,填写显示的ip即可。
"setting":{
// ...
"sign": true,
// ...
}
签到默认开启,连续签到可以获得更多云贝。
"setting":{
// ...
"daka":{
"enable": true,
"full_stop": true,
"song_number": 300,
// ...
},
// ...
}
每个账号每天最多只计算300首的听歌量,而且必须是没有听过的歌曲。enable
表示开启刷听歌量的任务,full_stop
表示满级后自动停止任务,无需手动将enable
设为false
。song_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
是要使用的云贝数量,一般为10
,reason
填写推歌理由。
发布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": ["你好"]
}
},
// ...
}
需要是音乐人才能执行,想要开启相应的任务,需要将enable
由false
改为true
,登录音乐人中心
自动开启,其他任务根据实际情况开启。登录音乐人中心
即签到获取云豆;发布动态
即转发歌单;发布主创说
即在自己的歌曲评论区留言;回复粉丝评论
即在自己歌曲的评论区回复粉丝留言,该任务是通过回复自己的留言实现的;回复粉丝私信
需要填写粉丝id,可用小号。
支持三种推送方式,建议使用企业微信进行推送
- 企业微信
- server酱
- 酷推
- 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消息不能在微信里查看,只能在企业微信里查看。
"setting": {
// ...
"serverChan": {
"enable": true,
"KEY": ""
},
// ...
}
要使用server酱的话需要在KEY
里填写旧版的SCKEY或新版的SendKey。
"setting": {
// ...
"CoolPush": {
"enable": true,
"method": ["send"],
"Skey": ""
},
// ...
}
要使用酷推的话需要填写Skey
。
"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网关触发
,点击提交。可以看到一个访问路径,访问该链接,即可运行云函数。使用这种方式,无需登录腾讯云,即可随时随地运行。
在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
可能的原因
- 数据延迟导致结果显示不准确,可稍候到网易云APP中查看
- 每天上限300首,如果打卡之前在网易云音乐中听过歌或多次打卡,可能导致此次打卡无法达到300的上限
- 歌单中的一部分歌曲可能之前听过,因此不再重复记录
打卡功能可能会影响日推,介意慎用。
发放时间 | 计费项 | 免费额度 |
前三个月(包含开通当月)每月 | 调用次数 | 100万次(事件函数和 Web 函数各100万次) |
资源使用量 | 40万GBs | |
外网出流量 | 1GB | |
开通三个月后每月 | 调用次数 | 10万次(事件函数和 Web 函数各5万次) |
资源使用量 | 2万GBs | |
外网出流量 | 0.5GB |
详见计费概述
微信
- 本仓库中的脚本仅用于测试和学习目的,请勿用于商业或非法目的,否则后果自负
- 如果您认为该项目的脚本可能涉嫌侵犯您的权利,请及时通知,我们将在确认后及时删除