python聊天机器人

import subprocess
import pyautogui
import uiautomation as auto
import time
import requests
import pyperclip
muo=[]
new_data=[]#存放消息的列表
list_data=["66778899","几点","课表","时间戳"]#存放指定回复列表
new_data.append('初始化')
def shuaxin():
    location = pyautogui.locateCenterOnScreen('wer.png',confidence=0.8)
    if location is not None:
        pyautogui.click(location.x, location.y, clicks=1, interval=0.2, duration=0.2, button="left")
        pyautogui.move(200,0)
    else:
        print('未识别到新的信息')
def kebi():#发送文件
    iargd = ['powershell', 'Get-Item D:\daima\pythonProject2\课表.xlsx | Set-Clipboard']#文件的存放目录
    subprocess.Popen(args=iargd)
def data(pas):
    try:
        for i in list_data:
            nasb = pas.count(i)
            muo.append(nasb)
        cmds = muo.count(1)
        if cmds == 0:
            try:
                url = 'http://biz.turingos.cn/apirobot/dialog/homepage/chat'
                headers = {
                    "User-Agent": "浏览器标识"}
                data = {"deviceId": "31233123-3123-3123-3123-312331233123",
                        "question": pas
                        }
                poss = requests.post(url=url, headers=headers, data=data).json()
                data1 = poss.get('data').get('results')
                data2 = data1[0].get('values').get('text')
                pyperclip.copy('机器人回复:' + data2)
                new_data.append('机器人回复:'+data2)
                dialog_box.SendKeys("{Ctrl}V", waitTime=0)
                dialog_box.SendKeys("{Enter}", waitTime=0)
                muo.clear()
            except:
                pyperclip.copy('信息获取失败')
                dialog_box.SendKeys("{Ctrl}V", waitTime=0)
                dialog_box.SendKeys("{Enter}", waitTime=0)
                muo.clear()


        elif cmds > 1:
            print('eorro')
            muo.clear()
        else:
            nsme = muo.index(1)
            if nsme == 0:
                pyperclip.copy('666666')
                new_data.append('666666')
                dialog_box.SendKeys("{Ctrl}V", waitTime=0)
                dialog_box.SendKeys("{Enter}", waitTime=0)
                muo.clear()
            elif nsme ==1:
                pyperclip.copy('机器人回复:现在的时间为' + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
                new_data.append('机器人回复:现在的时间为' + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
                dialog_box.SendKeys("{Ctrl}V", waitTime=0)
                dialog_box.SendKeys("{Enter}", waitTime=0)
                muo.clear()
            elif nsme==2:
                kebi()
                #pyperclip.copy('机器人回复:功能完善中')
                time.sleep(1)
                new_data.append('[文件]')
                dialog_box.SendKeys("{Ctrl}V", waitTime=0)
                dialog_box.SendKeys("{Enter}", waitTime=0)
                muo.clear()
            else:
                pyperclip.copy('当前时间戳为:'+str(int(time.time())))
                new_data.append('当前时间戳为:'+str(int(time.time())))
                dialog_box.SendKeys("{Ctrl}V", waitTime=0)
                dialog_box.SendKeys("{Enter}", waitTime=0)
                muo.clear()
    except:
        print('接口异常')
while True:
    global dialog_box
    try:
        dialog_box = auto.WindowControl(Name='微信', searchDepth=1)
        dialog_box.SetActive()
        shuaxin()
        time.sleep(1)
        #dialog_box1 = auto.WindowControl(Name='消息管理器', searchDepth=1)
        msaa = dialog_box.ListControl(Name='消息').GetChildren()[-1].Name#微信
        #msaa=dialog_box1.ListControl(Name='IEMsgView',searchDepth=7).GetChildren()[-1].Name#用QQ把上面那一句注释掉,其他的注释全部打开
        print(msaa)
        print(new_data[0]+'>>>列表消息')
        ls=msaa.count(new_data[0])
        if ls==0:
            new_data.clear()
            data(msaa)
        else:
           pass

    except:
        print('获取信息失败')

下面这个图片放到代码的同目录下

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值