天天看點

搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址

目錄

  • 前言
  • 具體實作
    • 1、爆照
    • 2、生日書
    • 3、擷取歌詞和分享音樂
  • 完整項目下載下傳位址

前言

完整項目包括架構、代碼和詳細使用說明可以去連結下載下傳:

QQ機器人基礎版(文章1-2所有功能)

多功能版(文章1-3所有功能,含點歌,随機美女照片等等功能)

下載下傳完隻需要按照使用說明修改幾處地方即可搭建成功!!

第一篇文章:QQ機器人詳細制作教程(從配置到簡單的功能)

第二篇文章:搭建一個QQ機器人陪女朋友聊天并叫她起床

前兩篇文章都上了CSDN的綜合熱榜,首先得感謝官方的推薦,其次更需要感謝的是小夥伴們的支援!我會繼續努力的!也期待大家對本文的一鍵三連哦。

搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址

本篇文章增加了機器人的功能,主要是通過一些調用好玩的接口來實作的,下面上一些截圖:

搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址
搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址
搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址
搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址

要實作以上功能都是在第一篇文章的基礎上的,是以還沒有看第一篇文章的小夥伴先去看一下哦。

第一篇文章:QQ機器人詳細制作教程(從配置到簡單的功能)

具體實作

1、爆照

當别人叫我們的機器人爆照,怎麼辦?當然可以,直接發閃照。

可以參考幫助文檔:

搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址
if '爆照' in message:
                qq = rev['sender']['user_id']
                send_msg({'msg_type': 'private', 'number': qq, 'msg': '[CQ:image,file={},type=flash,id=40004]'.format('https://c-ssl.duitang.com/uploads/blog/202012/16/20201216083017_6103b.thumb.1000_0.jpg')})
           

這個圖檔位址需要的是網絡位址,可以上網找一個。

我自己寫了一個随機圖檔函數,大家可以參考一下。

網址:https://www.duitang.com/search/?kw=美女&type=feed(當然你可以改關鍵詞kw)

搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址

f12進入開發者模式,繼續往下滑使其加載更多圖檔,可以看到有一個接口,有幾個參數。

搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址

python代碼:

import json, requests
from bs4 import BeautifulSoup
import random

img_list = []
def get_img_random():
    for j in [0,24,48,72]:
        # 擷取網站資料
        url = requests.get('https://www.duitang.com/search/?kw=美女&type=feed&start={}'.format(j))
        # url.encoding = 'utf-8'  #如果需要用到頁面中的漢字内容,則需要進行解碼,否則中文會出現亂碼
        html = url.text
        # 解析網頁
        soup = BeautifulSoup(html, 'html.parser')
        # 擷取所有的img标簽
        movie = soup.find_all('div', class_='mbpho')
        # print(movie)
        # 擷取src路徑
        for i in movie:
            imgsrc = i.find_all('img')[0].get('src')
            img_list.append(imgsrc)
    return img_list
i = random.randint(0, len(img_list))
print(get_img_random()[i])
           

得到一個随機圖檔位址。

搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址

我根據這個寫了一個網頁版,頁面入口:關鍵詞随機圖檔

2、生日書

這個需要的是聚合資料的API接口,這個已經在第二篇文章介紹過了,大家可以去看看。

第二篇文章:搭建一個QQ機器人陪女朋友聊天并叫她起床

看一下傳回的資料:

搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址
搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址

直接上代碼(需要先去官網申請這個接口擷取請求key):

import requests

def birthday_book(birthday,key):
    url = "http://apis.juhe.cn/fapig/birthdayBook/query?" + 'keyword={}&key=你申請api的請求key'.format(birthday)
    # 發送get請求
    r = requests.get(url)
    # 擷取傳回的json資料
    result = r.json()['result'][key].replace('<p>','').replace('</p>','')
    return result

dict={'性格':'nature','愛情':'love','财運':'money','事業':'business','健康':'health','幸運數字':'lucky_num','适合的戀愛對象':'in_love','适合的朋友對象':'friend'}
word='适合的戀愛對象'
print(birthday_book('08-14',str(dict[word])))
           

3、擷取歌詞和分享音樂

參考文章:網易雲音樂的常用API(搜尋,歌詞,mp3下載下傳)

(1)擷取歌詞

URL:http://music.163.com/api/search/pc

送出方式:POST

參數:

s:歌曲名

offset:偏移量

limit:擷取歌曲數

type:類型(歌曲:1、專輯:10、歌手:100、歌單:1000、使用者:1002、mv:1004)

python代碼:

import requests
import json

def get_lyric(song):
    url = "http://music.163.com/api/search/pc"
    pyload = {"s": song, "offset": 0, "limit": 1, 'type': 1}
    response = requests.post(url, data=pyload).json()
    artists = response['result']['songs'][0]['artists']
    name = ''
    for i in artists:
        name = name + '/' + i['name']
    id = response['result']['songs'][0]['id']
    url = 'http://music.163.com/api/song/media?id=' + str(id)
    r = requests.get(url)
    try:
        if len(r.json()['lyric']) <= 1:
            return '暫無歌詞'
        else:
            return '歌手:' + name + '\n' + str(r.json()['lyric'])
    except:
        return '純音樂,無歌詞'

print(get_lyric('你的眼睛像星星'))
           

傳回結果:

搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址

搭建到機器人上需要擷取一個參數,歌曲關鍵詞(可以帶作者)

(2)分享音樂

首先需要擷取歌曲的id,然後通過機器人架構的cqcode去分享。目前好像隻支援群聊的發送,私聊沒有反應。

文檔位址:http://docs.go-cqhttp.org/cqcode/#音樂分享

搭建一個點歌QQ機器人,另外還能看美女!前言具體實作完整項目下載下傳位址

擷取音樂id函數:

def get_id(song):
    url = "http://music.163.com/api/search/pc"
    pyload = {"s": song, "offset": 0, "limit": 1, 'type': 1}
    response = requests.post(url, data=pyload).json()
    id = response['result']['songs'][0]['id']
    return id
           

搭建到機器人上需要擷取一個參數,歌曲關鍵詞(可以帶作者)

完整項目下載下傳位址

完整項目包括架構、代碼和詳細使用說明可以去連結下載下傳:

QQ機器人基礎版(文章1-2所有功能)

多功能版(文章1-3所有功能,含點歌,随機美女照片等等功能)

下載下傳完隻需要按照使用說明修改幾處地方即可搭建成功!!

個人首頁(含網頁版機器人、舔狗語錄線上生成和關鍵詞随機圖檔等功能):皮小孩的個人站點