• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

微信自动回复python

武飞扬头像
冷月半明
帮助1

学新通

前言:

自从微信禁止网页版登陆之后,itchat 库也就都不能用了,新号不能再登录网页版,而且itchat 库在headers里面只放了UserAgent,其他字段都没有放。所以在你登录的瞬间,微信就已经知道你这个账号没有用浏览器登录了!
这篇博客就简单来介绍一个wxauto库来操作微信。

地址:

cluic/wxauto: Windows版本微信客户端(非网页版)自动化,可实现简单的发送、接收微信消息,持续更新中 (github.com)

一个简单的样例:

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)

这段代码使用 wxauto 库与电脑上的微信客户端交互的脚本。脚本首先导入必要的库,包括 requests 和 wxauto。然后,它初始化一个 WeChat 对象,该对象代表微信客户端,并定义要发送的消息和收件人。

脚本然后进入无限循环,不断检查新消息。如果收到了新消息,并且该消息不是来自特定用户(由 if 语句指示),脚本将使用预定义的消息回复该消息,然后使用 requests 库发送请求到 web API。然后将 API 的响应提取出来并作为消息发送回收件人。

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghbbij
系列文章
更多 icon
同类精品
更多 icon
继续加载