NeteaseMusic更新热歌API与选择方式,降低重复率

This commit is contained in:
TNTcraftHIM 2020-09-02 23:44:26 +08:00
parent 48a405f20a
commit e0c2ea5076
2 changed files with 21 additions and 6 deletions

View File

@ -282,10 +282,10 @@
},
{
"name": "neteasemusic",
"version": "3.6",
"version": "3.7",
"section": "daily",
"maintainer": "TNTcraftHIM",
"size": "27.1 kb",
"size": "27.8 kb",
"supported": true,
"des-short": "网易云搜歌/随机热歌/点歌",
"des": "可以在线搜索并且快速点歌可回复信息点歌也支持随机热歌功能支持解锁VIP/灰色歌曲。命令nem。"

View File

@ -39,19 +39,34 @@ async def nem(context):
return
elif context.parameter[0] == "r": # 随机热歌
await context.edit("随机中 . . .")
url = "https://api.vvhan.com/api/rand.music?type=json&sort=%E7%83%AD%E6%AD%8C%E6%A6%9C"
for _ in range(20): # 最多重试20次
apinum = random.randint(0, 1)
apitype = random.randint(0, 1)
if apitype == 0:
apitype = "飙升榜"
else:
apitype = "热歌榜"
if apinum == 0:
url = "https://api.vvhan.com/api/rand.music?type=json&sort=" + apitype
else:
url = "https://api.uomg.com/api/rand.music?sort=" + apitype + "&format=json"
status = False
try:
status = False
randsong = requests.get(url, headers=headers)
if randsong.status_code == 200:
randsong = json.loads(randsong.content)
if randsong['success'] is True:
if apinum == 0 and randsong['success'] is True:
context.parameter[0] = "id"
context.parameter.append(
str(randsong['info']['id']))
status = True
break
elif apinum == 1 and randsong['code'] == 1:
context.parameter[0] = "id"
context.parameter.append(
str(randsong['data']['url'][45:]))
status = True
break
except:
continue
if status is False:
@ -59,7 +74,7 @@ async def nem(context):
sleep(3)
await context.delete()
return
else:
else: # 错误输入
await context.edit(helptext)
return
# 整理关键词