前言

近期Stack Overflow公布了一项调查显示,Python已经成了发展最快的主流编程语言,Python搭乘着数据科学和机器学习以及人工智能的浪潮,席卷了整个技术圈。越来越多的人想了解、想学Python,从程序猿到数据分析师,从已退休的耄耋老者到乳臭未干的小学生,是的,你没听错,有图有真相:

到底Python的魅力在于哪?到底它有着什么神奇的力量?尼克决定以一个较为轻松的专题,带大家认识Python。

今天干什么

有天刚好发现了一个好玩的Python库(活跃的开源社区,各种第三方库也是Python能过流行起来的原因):itchat。itchat是一个开源的微信Python Api,貌似是基于网页版微信做的。主要支持以下几种场景:消息获取、消息发送和应用多开。既然可以获取消息和回复消息,那我们刚好可以做一个自动回复消息的机器人。话不多说,看看itchat怎么用。

itchat简单介绍

  • 登陆

    itchat.auto_login
    
  • itchat安装
    可以通过本命令安装itchat:

    pip install itchat
    
  • 给特定的人(如文件助手)发送消息
    import itchat
    itchat.auto_login() itchat.send('Hello, filehelper', toUserName='filehelper') 
  • 回复消息
    import itchat
    @itchat.msg_register(itchat.content.TEXT) def text_reply(msg): return msg.text itchat.auto_login() itchat.run() 

其余接口和Api各位可参考itchat的官方文档。有了这三个接口,我们就可以做一个自己的机器人了。

如何定制自己的机器人

  • 选择机器人Api
    我选择的机器人Api是图灵,一款免费的机器人接口,官方地址为:图灵机器人。我用到的Api接口为消息回复接口:

    api_url = 'http://www.tuling123.com/openapi/api'
    data = { 'key': KEY, 'info': msg, } 

    其中api_url为api调用地址,KEY为应用appkey,我的key为

    KEY = '9826d3b387c9483badb65992bfbf63bc'
    

    大家可以随便用。

  • 所有的代码
    # coding=utf8import requests
    import itchatKEY = '9826d3b387c9483badb65992bfbf63bc' def get_response(msg): print("bei diaoyong!") api_url = 'http://www.tuling123.com/openapi/api' data = { 'key': KEY, 'info': msg, } try: r = requests.post(api_url, data=data).json() return r.get('text') except: return @itchat.msg_register(itchat.content.TEXT) def tuling_reply(msg): print(msg.User) print(msg.User['NickName'] + msg['Text']) defaultReply = 'I received: ' + msg['Text'] reply = "I am a Robot:" + get_response(msg['Text']) return reply or defaultReply itchat.auto_login(hotReload=False) itchat.run() 

实际上所有的核心代码不到30行,即可实现了自动机器人的功能。

  • 代码讲解
    get_response函数的参数为msg,将msg发送给图灵api,将返回消息回复;tuling_reply函数的作用是,收到消息后,将消息转发给图灵api,再将图灵机器人的回复回复给消息的发送人。@itchat.msg_register(itchat.content.TEXT)是回复消息的装饰器。在以后的Python学习中会给大家讲解。

机器人演示效果

我的女神瑾瑾和机器人快乐的聊天记录:


不过它似乎有点笨,还有点傲娇。瑾瑾问它颜值打几分都不知道怎么回答,当然是99分啦。叉车出租哪家公司好

它还能做什么

单调实用的api巧妙的运用即可创造出很多价值,这也是众多Python库的特点之一,简单来说就是Python大法好~目前我能想到的是以下几种:

  • 防止消息撤回,所有的消息都会被备案
  • 自动回复消息:加入我们有自己的预置消息库,可以拿itchat做个值班小秘书
  • 监控群聊,别趁我不在偷偷开车嘿嘿嘿嘿… …
  • 抢红包就不用想了,微信网页版不支持抢红包
  • … …

转载于:https://www.cnblogs.com/xyou/p/9644578.html

【Py大法系列--01】20多行代码生成你的微信聊天机器人相关推荐

  1. ICCMO微信公众账号开发系列(2)打造微信聊天机器人

    昨天我们已经成功的接入了微信公众账号.今天咱们来做一个微信聊天机器人.这个就需要一点点PHP的知识了.如果你不懂PHP呢,没关系,跟着一步一步做也 可以做出来. 这是在昨天的基础上做的,如果你还不会接 ...

  2. python爬虫下载文件-【Py大法系列--03】Python如何自动下载文件

    问题描述 Python自动下载文件,通用文件,包括但不限于压缩文件.图片等. 解决方法 一般情况下,Python下载文件的方式有以下几种: 利用urllib.urllib2,即Python爬虫用的最多 ...

  3. python 自动下载文件_【Py大法系列--03】Python如何自动下载文件

    问题描述 Python自动下载文件,通用文件,包括但不限于压缩文件.图片等. 解决方法 一般情况下,Python下载文件的方式有以下几种: 利用urllib.urllib2,即Python爬虫用的最多 ...

  4. 命令行参数的作用_Rasa 聊天机器人专栏(二):命令行界面

    作者 | VK 编辑 | 奇予纪 出品 | 磐创AI团队出品 命令行界面: 备忘单 命令行界面(CLI)为你提供易于记忆的常见任务命令. 命令 作用说明 rasa init 使用示例训练数据,操作和配 ...

  5. python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~

    如何用20行Python代码打造一个微信群聊助手? 1.安装python环境 2.安装python的itchat库 3.安装itchat库 4.Linux 5.申请图灵机器人API和key 6.编写p ...

  6. 手把手教你用7行代码实现微信聊天机器人 -- Python wxpy

    环境要求: Windows / Linux / Mac OS Python 3.4-3.6,以及 2.7 版本 wxpy安装 ## 使用国内源安装速度快 pip install -U wxpy -i ...

  7. 无聊,几行python代码写一个聊天机器人陪你聊天

    代码 利用爬虫功能实现. import urllib.request import rewhile True:x = input("主人:")x = urllib.parse.qu ...

  8. Python30行代码实现微信聊天机器人(基于WXPY+百度理解与交互技术UNIT)

    引言: 前几天看到新闻说一个程序员开发了微信聊天机器人陪女朋友聊天,感觉有兴趣,之前听说过WXPY,由于本人Python真的很菜,一直没有动手,受新闻启发开发了一个简单的基于Python微信机器人.有 ...

  9. 【Web前端学习系列01】—HTML

    [Web前端学习系列01]-HTML HTML 基本标签-head head title标签 meta标签 link标签 style标签 script标签 base标签 文本 标题标签 h 段落标签 ...

最新文章

  1. cad里面f命令用不了,CAD出现命令无效、失灵等问题?不用慌,两招帮你快速解决...
  2. ubuntu c++检测usb口事件变化_从MacBook支持USB-C口充电看电脑标配充电器发展史
  3. HDLBits 系列(9)Gates and Vector
  4. TCP 连接中的TIME_WAIT
  5. method java_解析Java中的Field类和Method类
  6. 访问量冲破1000大关,截图庆祝!
  7. 字符串 kmp算法解析
  8. SAP在阿里云白皮书-第三章 SAP上阿里云场景介绍
  9. [图论] 树剖LCA
  10. 打印数组的几种方式--java
  11. 伴随矩阵介绍及C++实现
  12. Cocos2d-x游戏引擎实战开发炸弹超人项目教程 全套下载 1至6课
  13. 我在雷军2021年度演讲上,依稀仿佛看到了老罗的影子
  14. 13、Kanzi插件——通过Kanzi Engine插件创建自定义节点+代码解析
  15. 电商怎么起号做直播带货需要注意什么
  16. turtle的函数及使用
  17. 应用安全系列之二十三:SSRF
  18. 文献阅读:SimCSE:Simple Contrastive Learning of Sentence Embeddings
  19. 视频教程-oracle数据库快速入门-Oracle
  20. onShow onHide页面生命周期不执行

热门文章

  1. [趣谈网络协议学习] 03 DHCP与PXE:IP是怎么来的, 又是怎么没的?
  2. 华为科学运动体系HUAWEI TruSport,跑者的福音
  3. Macbookpro苹果笔记本如何卸载vpn工具global protect
  4. 在Tomcat下使用JavaBean
  5. Linux 网络编程——TCP/IP 数据包格式解析
  6. 统信UOS专业版安装VMware
  7. 上海市计算机一级考试提纲,上海市高校计算机等级考试(一级)考试大纲
  8. python不同的版本有什么区别_多版本python的区别方法
  9. 再谈解决“因为文件包含病毒或潜在的垃圾软件”系统找不到gpedit.msc
  10. L2-040 哲哲打游戏(Python3)