原文链接:点击打开链接

摘要: 520这一天,也是网络情人节。就在今天,python聊天机器人竟然对我表白了,并且还自动地和微信里面的所有人和群聊天。一时间,所有人以为我变成了聊天达人。具体什么情况,我们慢慢看看怎么实现的。 运行环境 运行平台:Mac Python版本:Python3.6 IDE:spyder wxpy介绍 wxpy 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。

520这一天,也是网络情人节。就在今天,python聊天机器人竟然对我表白了,并且还自动地和微信里面的所有人和群聊天。一时间,所有人以为我变成了聊天达人。具体什么情况,我们慢慢看看怎么实现的。

运行环境

运行平台:Mac
Python版本:Python3.6
IDE:spyder
wxpy介绍

wxpy 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。

wxpy一些常见的场景:

一些常见的场景

控制路由器、智能家居等具有开放接口的玩意儿

跑脚本时自动把日志发送到你的微信

加群主为好友,自动拉进群中

充当各种信息查询

转发消息

逗人玩

...

# 脑洞太大的就不提了...

总而言之,可用来实现各种微信个人号的自动化操作

安装wxpy

安装wxpy非常简单,如果你拥有pip,请直接按照Github中的方法安装:

从 PYPI 官方源下载安装 (在国内可能比较慢或不稳定):


pip3 install -U wxpy

从豆瓣 PYPI 镜像源下载安装 (推荐国内用户选用):

pip install -U wxpy -i "https://pypi.doubanio.com/simple/"

登录微信

wxpy 使用起来非常简单,我们只需要创建一个bot 对象,程序运行后,会弹出二维码,扫描二维码后显示登陆成功。为了能自动保存信息,不需要每次扫码,只需要设置cache_path=True. 同时在项目文件夹下,多了一个wxpy.pkl文件。

from  wxpy  import  *
#在初始化时便会执行登陆操作,需要手机扫描登陆。
bot = Bot()
#自动保存登录信息,就不需要每次扫二维码
bot = Bot(cache_path= True )

以下为代码输出

机器人对我表白

在这特殊的日子里,机器人对我说了我爱你,也就是自己发给自己信息。还可以说更多其他的内容,只需要设置一下send()内容既可。具体代码如下:

'''
给自己发送“我爱你“
'''
# 在Web微信中把自己加为好友
bot.self.add()
bot.self.accept()
# 发送消息给自己
bot.self.send( " 520,我爱你!" )

下图是运行效果:

指定聊天对象,大胆聊天表白吧

在这么特殊的一天,你可以使用聊天机器人指定某个人进行聊天,大胆说出自己平常不敢说的话。即使他/她给你回复了,你不好意思回复他。机器人可以帮你自动回复。如何实在不好意思和她聊天,也可以忽略,不用自动回复。

比如,找到微信昵称或者备注为”冯彬“的好友,然后对他说,“亲,在干嘛呢”。并且自动回复 “嗯,收到你的消息了”。

'''
指定聊天对象,大胆进行表白吧
'''
#指定聊天对象,并发送你想说的话
#还可以发送图片,视频,文件或者动图等。可以试一下
my_friend = bot.friends().search( '冯彬' )[ 0 ]
#found = ensure_one(my_friend) //确保找到的是唯一,避免重复
my_friend.send( "亲,在干嘛呢" )
#如何指定聊天回复你了,聊天机器人自动回复设置好的消息。
@bot.register(my_friend)
def  reply_my_friend (msg) :
return   '{} ,收到你的消息了' .format(msg.text, msg.type)
'''
指定聊天对象,聊天机器人拒绝回复他的消息
'''
ignore_friend = bot.friends().search( '冯彬' )[ 0 ]
@bot.register(ignore_friend)
def  ignore (msg) :
return
效果如下:
自动回复群里的消息

群里的消息太多,回复不过来?可以使用聊天机器人自动回复设置好的内容。比如回复群名为 “[志愿者]数据圈”的所有消息,并且不想回复的时候,也可以直接忽略。

'''
指定一个群聊,并且自动回复群里的消息
'''
boring_group = bot.groups().search( '[志愿者]数据圈' )[ 0 ]
@bot.register(boring_group)
def  reply_my_friend (msg) :
return   '{} ,收到你的消息了,马上处理' .format(msg.text, msg.type)
#忽略群里的消息
@bot.register(boring_group)
#忽略群的消息
def  ignore (msg) :
#什么也不做
return

效果如下:

自动与所有人聊天

好友或者微信群太多,回复不过来?聊天机器人一键回复所有人的消息,并且能并行执行。自动聊天机器人是在图灵机器人的基础上,进行二次开发实现。因为图灵的机器人已经很智能了,可以回答很多问题,比如当地的天气、名词解释等内容。图灵机器人可以在图灵网站注册账号,并且创建自己的机器人。比如创建一个叫做“我的机器人的”自动聊天机器人,然后与所有人进行聊天。

#给所有人自动聊天
def  auto_replay (text) :
url =  "http://www.tuling123.com/openapi/api"
api_key = "你注册的api key"
payload = {
"key" :api_key,
"info" :text,
"userid" : "123456"
}
r = requests.post(url,data=json.dumps(payload))
result = json.loads(r.content)
return   "你好" +result[ "text" ]
#给所有人自动聊天
@bot.register()
def  print_message (msg) :
print(msg.text
return  auto_replay(msg.text)

效果如下:

自动聊天机器人可以智能的回答当地的天气,并且提醒多加衣服

自动与群聊的效果:

520 | 机器人竟然对我表白了?!用Python假装自己有女朋友(附代码)相关推荐

  1. 计算机科学期刊催稿,围观!520 ,最“专业”的表白方式

    原标题:围观!520 ,最"专业"的表白方式 F O RE •520• V E R 当聪明绝顶的网友成功破译"520=我爱你"这个不亚于哥德巴赫猜想的爱情密码之 ...

  2. 520程序员的浪漫表白

    520程序员的浪漫表白 说明 预览 html部份代码 说明 本文作品创意不是我想出来的,只是想用推荐卡在这"520"的节日里给更多的人分享下好的作品,可以让新人程序员更加热爱现在做 ...

  3. java写一个简单的浪漫代码_程序员的浪漫弹窗表白,圣诞节给Ta惊喜吧(附源码,简单易学哦)...

    不要以为程序员都是木讷的,浪漫起来也会让很多妹子心动的.而程序员的表白方式也很不一般,通过一堆代码,无限释放浪漫.今天教给大家通过改写脚本语言,利用弹窗可充分自由发挥,用来表白或者恶搞都是不错的选择. ...

  4. 前端表白纪念日用js+html+css实现的页面代码复制粘贴就能用

    前端表白纪念日用js+html+css实现的页面代码复制粘贴就能用页面如下: 代码: <!DOCTYPE html> <html><head><script ...

  5. 最新 | 用深度强化学习打造不亏钱的交易机器人(附代码)

    今天,你AI了没? 关注:决策智能与机器学习,每天学点AI干货 --本文由<量化投资与机器学习>授权转载 在本文中,我们将创建深度强化学习agents,学习如何通过比特币交易赚钱.在本文中 ...

  6. 【双足机器人(3)】3D线性倒立摆Python仿真(附代码)

    往期 本文是双足机器人系列的第三篇,在前面的文章中我们介绍了2D线性倒立摆的基本理论,详见: [双足机器人(1)]线性倒立摆及其运动控制(附代码) 在这篇文章中我们要详细介绍3D线性倒立摆的基本内容, ...

  7. 【双足机器人(2)】倒立摆运动学模型构建(附代码)

    1. 简介 在上一期的文章中,我们对线性倒立摆在2D平面内的运动过程进行了分析,并给出了基于轨道能量的线性倒立摆控制过程. [双足机器人(1)]线性倒立摆及其运动控制(附代码) 在本期文章中,我们将建 ...

  8. 抖音表白程序(python)(一)

    抖音表白程序(python) 根据抖音上表白的程序运用才学过的python语言在pycharm64中所编译的结果,基于本人所得到的结果和遇到的问题分享给大家. 在一个目录下创建main.py和cc.G ...

  9. 情人节,我表白了CSDN小姐姐后,竟然...【为表白写了一个绘图工具,让我不再手残】

    情人节,我表白了CSDN小姐姐后,竟然-竟然有人看了这篇文. 以下图片素材由一个还没写完的工具绘制,稍后会放在CSDN的代码仓库(现在能用了,还没时间改,颜色填充算法还没写,有能力的朋友可以修改一下) ...

最新文章

  1. DeepMind用神经网络求解MIP后,攻破运筹学只是时间问题?你想多了
  2. 8000 字 + 21 张图,服务端高并发分布式架构 14 次演进之路
  3. codeforces round 418 div2 补题 CF 814 A-E
  4. Go gin其他数据类型渲染
  5. 华为云服务器初探二(完结)
  6. public static void main(String[] args)的理解
  7. java try catch 例子_java try catch
  8. Oracle分组排序查询
  9. 人工智能(13)---智能锁
  10. python3 x默认使用的编码_Python3编码问题(Python2请忽略)
  11. highcharts注销
  12. FPGA学习——Vivado2017.4安装教程
  13. 键盘 计算机代码,键盘钩子示例
  14. zabbix+snmp+Granfana监控打印机
  15. java特殊字符大全_java 字符串特殊符号
  16. 哔咔漫画怎样切换横屏?
  17. c++编写函数实现字符串中指定字符位置插入字符串
  18. 通货膨胀理解之计算1年后100w贬值多少
  19. 剖析CPU温度监控技术
  20. 欧姆龙CP1H+CIF11与3台施耐德ATV12变频器通讯

热门文章

  1. 我的渗透之路系列——(六)
  2. 谈话之间 java I/O 字节流 灰飞烟灭
  3. Java常用注解以及使用场景示例
  4. 与一家猎头真实的对话!
  5. Google原生输入法LatinIME词库构建流程分析--相关数据结构分析
  6. linux内核补丁安装和编译安装
  7. iphone 与 ipad 程序图标
  8. xv6 6.S081 Lab7: Lock
  9. 关于跳槽,是我心浮气躁?还是我确实该离开了?
  10. wiki matlab,MATLAB - Simulink