前言

完整项目,包括框架、代码和详细使用说明可以去社区下载(下载完只需要按照使用说明修改几处地方即可搭建成功!):
QQ机器人基础python版(文章1-2所有功能)
QQ机器人多功能python版(文章1-3所有功能)

第一篇文章:QQ机器人详细制作教程(从配置到简单的功能)
第二篇文章:搭建一个QQ机器人陪女朋友聊天并叫她起床

前两篇文章都上了CSDN的综合热榜,首先得感谢官方的推荐,其次更需要感谢的是小伙伴们的支持!我会继续努力的!也期待大家对本文的一键三连哦。请添加图片描述

本篇文章增加了机器人的功能,主要是通过一些调用好玩的接口来实现的,下面上一些截图:
请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述
要实现以上功能都是在第一篇文章的基础上的,所以还没有看第一篇文章的小伙伴先去看一下哦。
第一篇文章:QQ机器人详细制作教程(从配置到简单的功能)

具体实现

1、爆照

当别人叫我们的机器人爆照,怎么办?当然可以,直接发闪照。
可以参考帮助文档
在这里插入图片描述

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)
在这里插入图片描述
f12进入开发者模式,继续往下滑使其加载更多图片,可以看到有一个接口,有几个参数。
在这里插入图片描述
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])

得到一个随机图片地址。
在这里插入图片描述
我根据这个写了一个网页版,页面入口:关键词随机图片

2、生日书

这个需要的是聚合数据的API接口,这个已经在第二篇文章介绍过了,大家可以去看看。
第二篇文章:搭建一个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('你的眼睛像星星'))

返回结果:
在这里插入图片描述
搭建到机器人上需要获取一个参数,歌曲关键词(可以带作者)

(2)分享音乐
首先需要获取歌曲的id,然后通过机器人框架的cqcode去分享。目前好像只支持群聊的发送,私聊没有反应。
文档地址:http://docs.go-cqhttp.org/cqcode/#音乐分享
在这里插入图片描述
获取音乐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

搭建到机器人上需要获取一个参数,歌曲关键词(可以带作者)

完整项目下载地址(配置了python环境)

完整项目包括框架、代码和详细使用说明可以去链接下载(下载完只需要按照使用说明修改几处地方即可搭建成功!):
QQ机器人基础版(文章1-2所有功能)
QQ机器人多功能版(文章1-3所有功能)

在这里插入图片描述
使用说明是word版本,说的十分详细
在这里插入图片描述

完整项目下载地址(电脑没有python环境)

电脑没有python环境或者觉得配置太麻烦可直接购买exe版本,只要有电脑就可以运行。
QQ机器人基础版exe
QQ机器人多功能版exe
同样里面都有使用说明,半分钟搞定

在这里插入图片描述

但是这也有一个坏处,就是不可编程修改,功能已经固定了,但适合编程小白!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐