mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
from .music_163 import dataGet, dataProcess, get_music_id
|
|
from nonebot.adapters import Bot, Event
|
|
from nonebot.typing import T_State
|
|
from nonebot import on_command
|
|
|
|
__plugin_name__ = "点歌"
|
|
|
|
__plugin_usage__ = "用法:点歌 [歌名]"
|
|
|
|
dataget = dataGet()
|
|
|
|
songpicker = on_command("点歌", priority=5, block=True)
|
|
|
|
|
|
@songpicker.handle()
|
|
async def handle_first_receive(bot: Bot, event: Event, state: T_State):
|
|
args = str(event.get_message()).strip()
|
|
if args:
|
|
state["songName"] = args
|
|
|
|
|
|
@songpicker.got("songName", prompt="歌名是?")
|
|
async def handle_songName(bot: Bot, event: Event, state: T_State):
|
|
songName = state["songName"]
|
|
songIdList = await dataget.songIds(songName=songName)
|
|
if not songIdList:
|
|
await songpicker.finish("没有找到这首歌!", at_sender=True)
|
|
for _ in range(3):
|
|
songInfoDict = await dataget.songInfo(songIdList[0])
|
|
if songInfoDict != "网易云网络繁忙!":
|
|
break
|
|
else:
|
|
await songpicker.finish("网易云繁忙...")
|
|
state["songIdList"] = songIdList
|
|
|
|
|
|
@songpicker.got("songName")
|
|
async def handle_songNum(bot: Bot, event: Event, state: T_State):
|
|
songIdList = state["songIdList"]
|
|
selectedSongId = songIdList[0]
|
|
songContent = [{"type": "music", "data": {"type": 163, "id": selectedSongId}}]
|
|
await songpicker.send(songContent)
|