QQ机器人超实用!实现定时叫女友起床、陪聊等功能,附教程

频道:行业资讯 日期: 浏览:24

上一篇文章讲解了怎样去配置机器人框架,而且达成了一些简易的功能,诸如发送私聊或者群聊信息,接收上报的事件,还有简单的自动回复等等 。

这回为了能让 QQ 机器人变得更为智能,调用了好些实用的接口。借由自己搭建的机器人达成定时叫女朋友起床,以及和女朋友聊天等功能。

按上面所呈现的情况,我的那个机器人,每一天都会守时去叫女朋友起床,而且,在我处于忙碌状态,而同时女朋友正处于无聊时段的时候,它能够陪着她去聊上那么一会儿天,。

具体实现

以下所实现的功能,均需机器人已然配置完毕,且已然写好了我前面那篇文章的若干函数。

上一篇文章地址(必看)—>>>QQ机器人制作教程,超详细!

1、定时发送信息

达成这个功能并非难事,只需引入时间这个变量就行,具体代码如此(QQ号、其中的时间以及msg需自行更改):

    if(now.hour==0 and now.minute==0):
        send_msg({'msg_type': 'private', 'number': qq, 'msg': '晚安!'})
        send_msg({'msg_type': 'private', 'number': qq, 'msg':'[CQ:poke,qq={}]'.format(qq)})
        time.sleep(60)
        continue
    if (now.hour == 9 and now.minute == 30):
        send_msg({'msg_type': 'private', 'number': qq, 'msg': '起床了'})
        send_msg({'msg_type': 'private', 'number': qq, 'msg': '[CQ:poke,qq={}]'.format(qq)})
        time.sleep(60)
        continue
    else:
    	continue

上面所呈现的代码达成的是,每日零点的时候朝着女朋友发送晚安,并且戳她一下;每日早上九点半的时候发起床内容,并且戳她一下。这些你能够自行去改进,能够发送表情包,甚至能够将代码里的’time.sleep(60)’去掉,如此一来就会在一分钟之内不间断地发信息去轰炸她,强烈推荐使用!

2、让机器人陪女朋友聊天

得借助 API 接口才能达成这个功能,眼下我寻获的实用智能回复 API 接口地址如下:http://api.qingyunke.com/ ,是这样的。

这个接口,并非仅仅能够用于聊天, 它还具备一些有着实用价值的功能,将信息依照格式传递进入请求url的msg之后,便能够返回结果,具体的功能呈现于如下图表之中:

要达成上面所提及的功能,全都需要去获取女朋友发给你的信息,这在上一篇文章当中已经被写出来了,当获取到之后,直接去调用接口从而返回结果,然后再发送给她就可以了。

下面直接上代码:

                url = 可以这样改写:“http://api.qingyunke.com/api.php?所附的键值为free,所关联的应用标识是0,所涉及的消息内容为”,最后有标点符号 。 + message

QQ机器人定时叫醒女朋友_QQ机器人智能聊天API接口_qq智能机器人qq号

s = quote(url, safe=string.printable) with urllib.request.urlopen(s) as response: html = response.read() 把获取而来的响应内容拿来解码,接着将json字符串内容转变成python字典格式 。 # 通过下标取到机器人回复的内容 qq = rev['sender']['user_id'] send_msg({'msg_type': 'private', 'number': qq, 'msg': eval(html.decode("utf-8"))["content"].replace('{br}', '\n')})

先行判断“post_type”的类型,若为message,则表明有人给机器人发消息了,接着查看“message_type”,若为private,则表明这是私聊信息,当然若为group,则表明这是群聊信息,随后我们获取信息message = rev 。

‘raw_message’

,拿到这个信息之后就可以设置关键词进行自己回复了。

3、调用一些有趣的接口

在聚合数据找了一些好玩的接口,有很多都是免费的。

申请使用一个api会给你请求key,需要先实名认证。

申请一个接口后点击测试,输入两个请求参数即可返回结果。

python代码如下(需要使用自己的api请求key):

def horoscope(constellation):
    # 请求地址
    url = 超文本传输协议链接,位于网页,具体为juhe.cn域名下的constellation文件夹里,获取全部内容时所使用的路径问号形式,即http://web.juhe.cn/。 + consName等于空,类型是今日,关键是自己的请求锁钥,。.format(constellation)
    # 发送get请求
    r = requests.get(url)
    # 获取返回的json数据
    result = r.json()['summary']
    print(result)
    return result
horoscope('摩羯座')