主頁 > 知識庫 > 教你使用python搭建一個QQ機器人實現(xiàn)叫起床服務(wù)

教你使用python搭建一個QQ機器人實現(xiàn)叫起床服務(wù)

熱門標簽:企業(yè)微信地圖標注 沈陽防封電銷電話卡 高德地圖標注收入咋樣 B52系統(tǒng)電梯外呼顯示E7 鶴壁手機自動外呼系統(tǒng)違法嗎 怎么辦理400客服電話 地圖標注多個 銀川電話機器人電話 萊蕪電信外呼系統(tǒng)

前言

上一篇文章介紹了怎么配置機器人框架,并且實現(xiàn)了一些簡單的功能。

(發(fā)送私聊或者群聊信息、接收上報的事件、簡單的自動回復(fù)等等)

這次為了讓QQ機器人更加智能,調(diào)用了一些實用的接口。

通過自己搭建的機器人實現(xiàn)定時叫女朋友起床、和女朋友聊天等功能。

如上圖所示,我的機器人每天都會準時叫女朋友起床;并且在我忙的時候然而女朋友無聊的時候可以陪她聊一會天。

具體實現(xiàn)

以下實現(xiàn)的功能都需要機器人已經(jīng)配置完成,并且已經(jīng)寫好了我上一篇文章的一些函數(shù)。

上一篇文章地址—>>>QQ機器人制作教程,超詳細!

1、定時發(fā)送信息

要實現(xiàn)這個功能是不難的,只需要引入時間這個變量就可以了,具體代碼如下(QQ號、里面的時間和msg自己改):

import datetime
import time
while True:
	qq=女朋友qq號
    now = datetime.datetime.now()
    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

上述代碼實現(xiàn)的是:每天零點給女朋友發(fā)晚安并戳她一下;每天早上九點半發(fā)起床了并戳她一下。

這些你自己可以改進,可以發(fā)表情包,甚至可以把代碼里的'time.sleep(60)'刪除,

那樣就會在一分鐘之內(nèi)連續(xù)發(fā)信息轟炸她,強烈建議使用!

2、讓機器人陪女朋友聊天

要實現(xiàn)這個功能需要借助API接口了,目前我找到的實用智能回復(fù)API接口地址:http://api.qingyunke.com/

這個接口不僅僅可以聊天,還有一些實用的功能,如下圖所示:

要實現(xiàn)以上功能都需要獲取女朋友給你發(fā)的信息,這個在上一篇文章已經(jīng)寫了,

獲取到后直接調(diào)用接口返回結(jié)果,再發(fā)送給她即可。

下面直接上代碼:

from receive import rev_msg
import requests
import json
import urllib.request
from urllib.parse import quote
import string
while True:
    try:
        rev = rev_msg()
        print(rev)
        if rev == None:
            continue
    except:
        continue
    if rev["post_type"] == "message":
        if rev["message_type"] == "private": #私聊
            message=rev['raw_message']
            if 'face' in message:
                qq = rev['sender']['user_id']
                img = rev['raw_message']
                send_msg({'msg_type': 'private', 'number': qq, 'msg': img})
            elif 'image' in message:
                qq = rev['sender']['user_id']
                img=rev['raw_message']
                send_msg({'msg_type': 'private', 'number': qq, 'msg': img})
            elif '戳一戳' in message:
                qq = rev['sender']['user_id']
                send_msg({'msg_type': 'private', 'number': qq, 'msg': '別戳了'})
            else:
                url = 'http://api.qingyunke.com/api.php?key=freeappid=0msg=' + message
                s = quote(url, safe=string.printable)
                try:
                    with urllib.request.urlopen(s) as response:
                        html = response.read()
                        # 將獲取到的響應(yīng)內(nèi)容進行解碼,并將json字符串內(nèi)容轉(zhuǎn)換為python字典格式
                        # 通過下標取到機器人回復(fù)的內(nèi)容
                        qq = rev['sender']['user_id']
                        # print(eval(html.decode("utf-8"))["content"])
                        send_msg({'msg_type': 'private', 'number': qq,
                                  'msg': eval(html.decode("utf-8"))["content"].replace('{br}', '\n')})
                        # print(eval(html.decode("utf-8"))["content"])
                except:
                    qq = rev['sender']['user_id']
                    send_msg({'msg_type': 'private', 'number': qq, 'msg': '重新連接中。。。'})
    else:  # rev["post_type"]=="meta_event":
        continue

上述代碼中,先判斷"post_type"的類型,如果為message表明有人給機器人發(fā)消息了;

再看"message_type",如果為private表明這是私聊信息,當然如果為group表明這是群聊信息;

然后我們獲取信息message=rev[‘raw_message'],拿到這個信息之后就可以設(shè)置關(guān)鍵詞進行自己回復(fù)了。

我在代碼中設(shè)置的'face' in message'image' in message是為了獲取表情和圖片,

對方發(fā)送什么就返回什么,因為那個智能回復(fù)接口識別不了表情和圖片。

3、調(diào)用一些有趣的接口

在聚合數(shù)據(jù)找了一些好玩的接口,有很多都是免費的。

本文以星座運勢為例子教大家怎么實現(xiàn)。

申請使用一個api會給你請求key,需要先實名認證。

申請一個接口后點擊測試,輸入兩個請求參數(shù)即可返回結(jié)果。

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

def horoscope(constellation):
    # 請求地址
    url = "http://web.juhe.cn/constellation/getAll?" + 'consName={}type=todaykey=自己的請求key'.format(constellation)
    # 發(fā)送get請求
    r = requests.get(url)
    # 獲取返回的json數(shù)據(jù)
    result = r.json()['summary']
    print(result)
    return result
horoscope('摩羯座')

再把它整合到機器人程序里面:

if '星座運勢' in message:
                try:
                    constellation = message.split(' ')[1]
                    text = horoscope(constellation)
                    qq = rev['sender']['user_id']
                    send_msg({'msg_type': 'private', 'number': qq, 'msg': text})
                except:
                    qq = rev['sender']['user_id']
                    send_msg({'msg_type': 'private', 'number': qq, 'msg': '請在星座前面加上空格。'})

健康填報小助手開發(fā)中。。。

前幾天一個輔導(dǎo)員朋友看了我的文章問我能不能制作一個qq機器人,關(guān)于健康填報小助手的。

他每天都要提醒學(xué)生健康填報,而且每次查看誰沒填報的時候都需要登錄網(wǎng)站統(tǒng)計數(shù)據(jù)才能獲得,

這就難免會忘記或者說每天做這些事情太煩人了,于是想讓我給他開發(fā)一個QQ機器人。

簡單交流了一下,了解了這個QQ機器人需要有的功能:

  • 1、每天定時發(fā)送所有未進行健康報送的學(xué)生姓名
  • 2、輔導(dǎo)員戳一戳QQ機器人或者艾特它也會發(fā)送所有未進行健康報送的學(xué)生姓名
  • 3、設(shè)定一個特定的時間t,如果在t時間之后還未進行報送的將會被QQ機器人私聊

以上就是教你使用python搭建一個QQ機器人實現(xiàn)叫起床服務(wù)的詳細內(nèi)容,更多關(guān)于python搭建QQ機器人的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python qqbot 實現(xiàn)qq機器人的示例代碼
  • 使用Python的Tornado框架實現(xiàn)一個簡單的WebQQ機器人
  • 不到20行代碼用Python做一個智能聊天機器人
  • python制作機器人的實現(xiàn)方法
  • Python實現(xiàn)聊天機器人的示例代碼
  • 采用python實現(xiàn)簡單QQ單用戶機器人的方法

標簽:呼倫貝爾 銀川 烏魯木齊 三亞 葫蘆島 呼倫貝爾 安慶 湘西

巨人網(wǎng)絡(luò)通訊聲明:本文標題《教你使用python搭建一個QQ機器人實現(xiàn)叫起床服務(wù)》,本文關(guān)鍵詞  教你,使用,python,搭建,一個,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《教你使用python搭建一個QQ機器人實現(xiàn)叫起床服務(wù)》相關(guān)的同類信息!
  • 本頁收集關(guān)于教你使用python搭建一個QQ機器人實現(xiàn)叫起床服務(wù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章