龙空技术网

Python实现微信聊天机器人

油香茶树菇 116

前言:

今天我们对“基于python的微信对话机器人”可能比较重视,你们都想要剖析一些“基于python的微信对话机器人”的相关文章。那么小编也在网上网罗了一些关于“基于python的微信对话机器人””的相关内容,希望同学们能喜欢,我们快快来了解一下吧!

你知道如何利用python玩转微信吗,你是否因为工作忙没时间陪女朋友? 今天给大家介绍一个利用微信个人号API库wxpy实现微信聊天机器人,只需要寥寥数行代码,它就能够自动陪朋友聊天,消息秒回。而且无所不知,甚至还能问天气,讲笑话。 从此妈妈再也不用担心我会错过微信消息了。

wxpy介绍

wxpy是一个微信机器人库,在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。 支持一些常见的场景:

控制路由器、智能家居等具有开放接口的玩意儿运行脚本时自动把日志发送到你的微信加群主为好友,自动拉进群中跨号或跨群转发消息自动陪人聊天逗人玩...

总之,利用wxpy我们可以实现微信个人号的各种自动化操作。

实现思路

在这里我们再介绍一个人工智能机器人微软小冰,它是一个领先的跨平台人工智能机器人。在微信搜索人工智能小冰微信公众号,就可以找到并使用它。那么我们的思路就是:利用wxpy登录微信,然后将朋友发送回来的消息发送给小冰,然后再将小冰的消息发送给朋友。说白了,就是将自己的微信作为一个中间人,利用小冰当自己的私人助理。

前期准备

安装python环境

登录python官网,找到适合你操作系统的python安装包,并下载安装。推荐3.4以上版本。

由于本文主要不是讲解python环境的搭建,再次不详细叙述,大家可以自行搜索教程。再次假定你已经装好并配置好了环境变量。

安装wxpy库

打开cmd或者powershell. 使用pip命令安装wxpy.

pip install -U wxpy -i ";

安装好之后,开始编写代码。

代码实现

代码的实现很简单,按照我们前面的思路实现即可。具体步骤请看代码注释,并参考wxpy文档。

#!/usr/bin/env python#-*-coding:utf-8-*-from wxpy import *# 初始化一个机器人对象bot = Bot(console_qr=False, cache_path=True)# 朋友的微信备住名称name = "your friend's name"# 从朋友列表里搜索该朋友friend = ensure_one(bot.friends().search(name))# friend = bot.file_helper # 可以使用文件助手测试# 从公众号里搜索小冰xiaobing = ensure_one(bot.mps().search("人工智能小冰"))my_bot = "小川"# 给朋友发个消息friend.send("我是主人的助理%s,现在由我全权代理主人与你通话" % my_bot)# 注册一个装饰器,接收小冰发来的消息,发送给朋友@bot.register(xiaobing)def reply_friend(msg):   if msg.type == "Text" and "小冰" in msg.text:       # 要是朋友问你是谁,小冰回答他是小冰,就替换成自己的名字,防止露馅       message = msg.text.replace("小冰", my_bot)       friend.send(message)   else:       msg.forward(friend)# 注册一个装饰器,接收朋友发来的消息,发送给小冰@bot.register(friend)def replay_xiaobing(msg):   msg.forward(xiaobing)# 启动并阻塞embed()

将代码保存为文件,例如名叫chat.py.直接使用python命令运行即可。

首次运行,会弹出二维码,使用微信扫描登录。

python chat.py

效果如图所示:

就是这么简单,有兴趣的朋友可以拿去试试了。

最后

建议大家尽量使用小号来测试,从wxpy文档获悉,使用机器人存在一定概率被限制登录的可能性。

主要表现为无法登陆 Web 微信 (但不影响手机等其他平台)。

利用wxpy可以做很多 好玩的事情,大家可以进行展开你们的想象力,有什么好玩的想法,可以在评论区交流。

参考:

标签: #基于python的微信对话机器人