【Py大法系列--01】20多行代码生成你的微信聊天机器人
前言
近期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多行代码生成你的微信聊天机器人相关推荐
- ICCMO微信公众账号开发系列(2)打造微信聊天机器人
昨天我们已经成功的接入了微信公众账号.今天咱们来做一个微信聊天机器人.这个就需要一点点PHP的知识了.如果你不懂PHP呢,没关系,跟着一步一步做也 可以做出来. 这是在昨天的基础上做的,如果你还不会接 ...
- python爬虫下载文件-【Py大法系列--03】Python如何自动下载文件
问题描述 Python自动下载文件,通用文件,包括但不限于压缩文件.图片等. 解决方法 一般情况下,Python下载文件的方式有以下几种: 利用urllib.urllib2,即Python爬虫用的最多 ...
- python 自动下载文件_【Py大法系列--03】Python如何自动下载文件
问题描述 Python自动下载文件,通用文件,包括但不限于压缩文件.图片等. 解决方法 一般情况下,Python下载文件的方式有以下几种: 利用urllib.urllib2,即Python爬虫用的最多 ...
- 命令行参数的作用_Rasa 聊天机器人专栏(二):命令行界面
作者 | VK 编辑 | 奇予纪 出品 | 磐创AI团队出品 命令行界面: 备忘单 命令行界面(CLI)为你提供易于记忆的常见任务命令. 命令 作用说明 rasa init 使用示例训练数据,操作和配 ...
- python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~
如何用20行Python代码打造一个微信群聊助手? 1.安装python环境 2.安装python的itchat库 3.安装itchat库 4.Linux 5.申请图灵机器人API和key 6.编写p ...
- 手把手教你用7行代码实现微信聊天机器人 -- Python wxpy
环境要求: Windows / Linux / Mac OS Python 3.4-3.6,以及 2.7 版本 wxpy安装 ## 使用国内源安装速度快 pip install -U wxpy -i ...
- 无聊,几行python代码写一个聊天机器人陪你聊天
代码 利用爬虫功能实现. import urllib.request import rewhile True:x = input("主人:")x = urllib.parse.qu ...
- Python30行代码实现微信聊天机器人(基于WXPY+百度理解与交互技术UNIT)
引言: 前几天看到新闻说一个程序员开发了微信聊天机器人陪女朋友聊天,感觉有兴趣,之前听说过WXPY,由于本人Python真的很菜,一直没有动手,受新闻启发开发了一个简单的基于Python微信机器人.有 ...
- 【Web前端学习系列01】—HTML
[Web前端学习系列01]-HTML HTML 基本标签-head head title标签 meta标签 link标签 style标签 script标签 base标签 文本 标题标签 h 段落标签 ...
最新文章
- cad里面f命令用不了,CAD出现命令无效、失灵等问题?不用慌,两招帮你快速解决...
- ubuntu c++检测usb口事件变化_从MacBook支持USB-C口充电看电脑标配充电器发展史
- HDLBits 系列(9)Gates and Vector
- TCP 连接中的TIME_WAIT
- method java_解析Java中的Field类和Method类
- 访问量冲破1000大关,截图庆祝!
- 字符串 kmp算法解析
- SAP在阿里云白皮书-第三章 SAP上阿里云场景介绍
- [图论] 树剖LCA
- 打印数组的几种方式--java
- 伴随矩阵介绍及C++实现
- Cocos2d-x游戏引擎实战开发炸弹超人项目教程 全套下载 1至6课
- 我在雷军2021年度演讲上,依稀仿佛看到了老罗的影子
- 13、Kanzi插件——通过Kanzi Engine插件创建自定义节点+代码解析
- 电商怎么起号做直播带货需要注意什么
- turtle的函数及使用
- 应用安全系列之二十三:SSRF
- 文献阅读:SimCSE:Simple Contrastive Learning of Sentence Embeddings
- 视频教程-oracle数据库快速入门-Oracle
- onShow onHide页面生命周期不执行
热门文章
- [趣谈网络协议学习] 03 DHCP与PXE:IP是怎么来的, 又是怎么没的?
- 华为科学运动体系HUAWEI TruSport,跑者的福音
- Macbookpro苹果笔记本如何卸载vpn工具global protect
- 在Tomcat下使用JavaBean
- Linux 网络编程——TCP/IP 数据包格式解析
- 统信UOS专业版安装VMware
- 上海市计算机一级考试提纲,上海市高校计算机等级考试(一级)考试大纲
- python不同的版本有什么区别_多版本python的区别方法
- 再谈解决“因为文件包含病毒或潜在的垃圾软件”系统找不到gpedit.msc
- L2-040 哲哲打游戏(Python3)