Python实现微信机器人

该代码示例展示了如何使用Python实现微信消息的自动回复功能。通过`wxauto`库获取微信客户端,与文件传输助手进行交互,并利用微信对话开放平台和qingyunkeAPI进行AI回复。程序会检查新消息,如果消息不来自特定ID或者在白名单内,则自动回复预设信息,同时通过API获取并发送AI生成的回答。
摘要由CSDN通过智能技术生成

from wxauto import *

 

send_msg = '你好' # 发送消息内容

who = '文件传输助手' # 指定发送对象

 

# 获取当前微信客户端

wx = WeChat()

 

 

# 向某人发送消息(以`文件传输助手`为例)

wx.ChatWith(who) # 打开`文件传输助手`聊天窗口

wx.SendMsg(send_msg) # 向`文件传输助手`发送消息:你好~

样例:

import requests

from wxauto import *

import time

import re

send_msg = '你好' # 发送消息内容

who = '文件传输助手' # 指定发送对象

 

# 获取当前微信客户端

wx = WeChat()

 

 

 

# 获取会话列表

SessionList=wx.GetSessionList()

 

print(wx.GetAllMessage[-1][1][:4])

 

print(wx.GetSessionList()[4])

# 群聊白名单,此将不会触发自动回复名单内

rigthlist={"没太多对错":0,"":0}

 

while (True):

    # 自动回复

    print(wx.GetAllMessage[-1])

    # wx.GetSessionList()[4] != SessionList[4] and

    if ( wx.GetAllMessage[-1][0]!='你的id'

        if(wx.GetSessionList()[4] in rigthlist.keys() ):

            print("触发白名单,该群不做回复!")

        else:

            print(SessionList[4] + wx.GetSessionList()[4] + "\n")

            SessionList = wx.GetSessionList()

            who = wx.GetSessionList()[4]

            wx.ChatWith(who)

            wx.SendMsg("自动回复:我的主人暂时不在电脑前,请稍候联系!")

            # ai回复

            #此处利用了微信对话开放平台的api

            url = 'https://openai.weixin.qq.com/openapi/sign/'

            data = {

                'userid': "",

            }

            r = requests.post(url, data, )

 

            url = "https://openai.weixin.qq.com/openapi/aibot/"

            # 最近的消息

            query = wx.GetAllMessage[-1][1]

            data = {

              "signature":r.json()["signature"],

                "query": query

 

            }

            r = requests.post(url, data, )

            print(r.json()["answer"])

            who = SessionList[4]

            wx.ChatWith(who)

            wx.SendMsg("来自助手ai小微的消息:" + r.json()["answer"])

 

#有人艾特你

    if(wx.GetAllMessage[-1][1][:4]=="你的群昵称"

   #此处使用了另一个免费的ai回复api

        url = 'http://api.qingyunke.com/api.php'

        data = {

            'key': "free",

            'appid': '0',

            "msg": wx.GetAllMessage[-1][1][4:]

        }

        r = requests.get(url, data, )

        print(r.json())

        senddata=r.json()["content"]

        who = wx.GetSessionList()[4]

        wx.ChatWith(who)

        wx.SendMsg("来自助手小皮的消息:"+senddata)

    time.sleep(2)

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值