def music_keyword(keyword):
    url = 'http://music.163.com/api/search/pc'
    headers = {
        'Cookie':
        'appver = 2.0.2',
        'refer':
        'http://music.163.com',
        'User-Agent':
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36'
    }
    params = {'s': keyword, 'offset': 0, 'limit': 1, 'type': 1}
    try:
        keywordResult = session.post(url=url,
                                     headers=headers,
                                     params=params,
                                     timeout=10)
    except (requests.exceptions.RequestException) as e:
        logger.error(f'[music.163.com connect failed]{e}')
        return '点歌失败惹 QAQ\n有可能是服务器网络爆炸,请重试一次'

    keywordJson = keywordResult.json()
    if keywordJson['result']['songCount']:
        id = keywordJson['result']['songs'][0]['id']
        # title = keywordJson['result']['songs'][0]['name']
        # artist = keywordJson['result']['songs'][0]['artists'][0]['name']
        # image = keywordJson['result']['songs'][0]['album']['blurPicUrl']
        # imageUrl = f'{image}?param=90y90'
        # audioUrl = f'http://music.163.com/song/media/outer/url?id={id}.mp3'
    else:
        return '没有版权,发不出去勒...'

    return MessageSegment.music(type_='163', id_=id)
Exemple #2
0
async def _(session: CommandSession):
    ans = await get_rand_songs()
    if ans is None:
        session.finish('歌单获取失败了呢亲亲 请明天再试呢')

    session.finish(
        MessageSegment.music('163', ans[random.randint(0,
                                                       len(ans) - 1)]['id']))
Exemple #3
0
async def music(session: CommandSession):
    keyword = session.get('keyword', prompt='你想听什么歌呢?',
                          arg_filters=[
                              extractors.extract_text,
                              str.strip,
                              validators.not_empty('歌名不能为空哦,请重新发送')
                          ])
    song_id = await search_song_id(keyword)
    if song_id is None:
        session.finish('很抱歉,貌似没有找到这首歌呢')
    session.finish(MessageSegment.music('qq', song_id))
Exemple #4
0
async def music(session: CommandSession):
    keyword = session.get('keyword',
                          prompt='想听什么歌呢亲亲',
                          arg_filters=[
                              extractors.extract_text, str.strip,
                              validators.not_empty('歌名不能为空呢亲亲,请重新发送')
                          ])
    song_id = await search_song_id_netease(keyword)
    if song_id is None:
        session.finish('没有找到这首歌呢亲亲')
    session.finish(MessageSegment.music('163', song_id))
Exemple #5
0
async def music(session: CommandSession):
    keyword = session.get(
        "keyword",
        prompt="歌名?",
        arg_filters=[
            extractors.extract_text,
            str.strip,
            validators.not_empty("歌名不能为空哦,请重新发送"),
        ],
    )
    song_id = await search_song_id(keyword)
    if song_id is None:
        session.finish("很抱歉,貌似没有找到这首歌")
    session.finish(MessageSegment.music("qq", song_id))
Exemple #6
0
async def music(session: CommandSession):
    # 和炸毛互动
    if session.ctx['message_type'] == 'group' and \
            session.bot.config.GROUPS_TO_PLAY_WITH_ZHAMAO and \
            session.ctx['group_id'] in \
            session.bot.config.GROUPS_TO_PLAY_WITH_ZHAMAO and \
            not session.get_optional('from_nlp'):
        ts = int(time.time() / 30)
        if ts % 2 == 1:  # 奇数炸毛发,奶茶附和
            await asyncio.sleep(2)
            session.finish('炸毛哥哥已经回复你啦~')

    keyword = session.get('keyword', prompt='你想听什么歌呢?')
    song_id = await search_song_id(keyword)
    if song_id is None:
        session.finish('没有找到这首歌呢')
    session.finish(MessageSegment.music('qq', song_id))
Exemple #7
0
async def music(session: CommandSession):
    # 和炸毛互动
    if session.ctx['message_type'] == 'group' and \
            session.bot.config.GROUPS_TO_PLAY_WITH_ZHAMAO and \
            session.ctx['group_id'] in \
            session.bot.config.GROUPS_TO_PLAY_WITH_ZHAMAO and \
            not session.state.get('from_nlp'):
        ts = int(time.time() / 30)
        if ts % 2 == 1:  # 奇数炸毛发,nana附和
            await asyncio.sleep(2)
            session.finish('炸毛哥哥已经回复你啦~')

    keyword = session.get('keyword',
                          prompt='你想听什么歌呢?',
                          arg_filters=[
                              extractors.extract_text, str.strip,
                              validators.not_empty('歌名不能为空哦,请重新发送')
                          ])
    song_id = await search_song_id(keyword)
    if song_id is None:
        session.finish('没有找到这首歌呢')
    session.finish(MessageSegment.music('qq', song_id))