想想将个人微信变为一个机器人也是很好玩的,这个项目就教你如何把自己的微信变为一个聊天机器人,嗯~对的,和小冰差不多的感觉吧(哈哈哈~)。

最终效果图:

效果图

原理:

通过微信的Python接口itchat获取微信消息。将微信消息传输到机器人接口(这里以图灵为例),获取机器人的返回消息。将返回消息返回给微信消息的发送人。

通过以上就可以实现将微信个人号变为聊天机器人的目的。

开发步骤

1、实现微信消息的获取

itchat的注册是根据类型注册的,在获取相应类型的信息时会调用该函数。

微信有各种类型的数据,例如图片、语音、名片、分享等,也对应不同的注册参数:

  • 图片对应itchat.content.PICTURE
  • 语音对应itchat.content.RECORDING
  • 名片对应itchat.content.CARD
  • 其余的这里就不一一列举,更具体的内容可以自行搜索itchat阅读文档

我们项目以获取最简单的文本消息为例进行讲解,那么只需要这样注册:

import itchat@itchat.msg_register(itchat.content.TEXT)
def print_content(msg): print(msg['Text'])itchat.auto_login()
itchat.run()

其中第三行即注册的操作,通过装饰符将print_content注册为处理文本消息的函数。

然后运行程序,就可看到我们开始登陆微信:

login

扫码完成以后最基础的文本信息的接收就完成了,你可以尝试用他人的微信给自己发一条信息。

2、实现微信消息的发送

信可以发送各类消息,文本、图片、文件等,不过我们现在只需要使用文本的发送。

itchat.send('Message Content', 'toUserName')

该发送消息的函数需要两个参数,消息的内容与接受者的UserName,即标识符。

那么我们试着向文件传输助手发送一条消息:

#coding=utf8
import itchat
itchat.auto_login(hotReload=True)
# 注意实验楼环境的中文输入切换
itchat.send(u'测试消息发送', 'filehelper')

打开手机看一下是否就完成了消息的发送。

保存代码后,执行命令,扫描登录后的效果如下:

send-hello

当然,还有一种更加快捷的回复方法就是在注册函数中直接回复,关于该方法可以点击这里进行查看。

3、实现最简单的与图灵机器人的交互

要做一个能够与人交流的机器人有很多种方法,最简单的莫过于使用他人提供的接口。

关于配置图灵机器人的介绍,点击这里就可以进行查看了。

4、代码实现

前面介绍了怎样获取消息、发送消息以及与机器人的交互,这些都是实现该项目所需要用到的知识点,下面将其组装起来即可了。

至于怎么组装,就如前面所介绍的原理一样,我们首先将与图灵服务器的交互定义为一个函数。我们需要这个函数接收我们要发送给图灵的消息,返回图灵返回给我们的消息。再将与图灵交互并返回图灵返回结果的操作写成函数并在itchat中注册。最后启动itchat,我们的程序就完成了。

关于具体的代码实现,点击【利用微信API将你的微信变为聊天机器人】即可查看详细的开发文档了。

文/实验楼(简书作者)
原文链接:http://www.jianshu.com/p/2000763d7c0e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

利用微信API将你的微信变为聊天机器人相关推荐

  1. java给朋友发微信_微信api接口,给微信好友收发消息

    微信api接口,给微信好友收发消息 /** * 给微信好友发消息 * @author wechatno:tangjinjinwx * @blog http://www.wlkankan.cn */ @ ...

  2. 个人微信api接口调用-给微信好友或群聊发消息

    个人微信api接口调用-给微信好友或群聊发消息 /*** 给微信好友发消息* @author wechatno:tangjinjinwx* @blog http://www.wlkankan.cn*/ ...

  3. 如何使用 ChatGPT API 构建您自己的 AI 聊天机器人:分步教程

    在一个突破性的公告中,OpenAI 最近向开发人员和公众介绍了ChatGPT API.特别是,为ChatGPT Plus 提供支持的新"gpt-3.5-turbo"型号已经以便宜 ...

  4. 企业微信api接口调用-企业微信好友收发消息

    企业微信api消息接口调用-企业微信好友收发消息 /** * 给企业微信好友发消息 * @author wechat:happybabby110 * @blog http://www.wlkankan ...

  5. 微信公众平台开发入门:[8]聊天机器人可开发

    在这篇教程中,我们将介绍如何在微信公众平台上开发:[小黄鸡聊天机器人]的功能.微信公众号,客户多了,来不及每个都体贴的照顾:是不是很想有个机器人自动陪聊来顶一下?这里就说说微信聊天机器人的开发. 第一 ...

  6. 微信小程序开发—项目实战之聊天机器人

    项目功能介绍 人工智能虚拟机器人"微软小冰"大家玩过吧,很酷的一个应用.发送文字.语音和图片都能得到智能的回复. 那现在我们就用小程序做一个模拟的应用,智能聊天机器人.发送文字它可 ...

  7. 微信公众平台开发(七) 聊天机器人功能开发

    一.简介 上一篇文章介绍了微信公众平台翻译功能的开发,实现了中.英.日语言互译,在实际生活中也能使用到.在接下来的这一篇文章中,我们将完成一个比较有趣的功能,那就是聊天机器人,可以在你无聊的时候陪你聊 ...

  8. 微信公众平台开发(23) 聊天机器人功能开发

    原文: http://www.cnblogs.com/imaker/p/5491433.html 一.简介 上一篇文章介绍了微信公众平台翻译功能的开发,实现了中.英.日语言互译,在实际生活中也能使用到 ...

  9. 认知智能未来机器人接口API简介介绍道翰天琼聊天机器人闲聊机器人机器人伴侣

    最近要做一个智能音箱的项目,可是声卡一直配置不好...所以,还做个啥啊.没办法,智能退而求其次,做一个文本交互的聊天机器人管家,并给它写个界面. 用java写,然后在linux装个jdk就行了.我们这 ...

最新文章

  1. BZOJ2888 : 资源运输
  2. net-speeder 安装
  3. android 动画 返回,Android TranslateAnimation在动画后重置
  4. Internet Explorer 11 Enterprise Mode 排错
  5. Linux下 /dev/null 21 相关知识说明
  6. CSS3动画和VUE动画整理
  7. java重定向url怎么写_Java:如何从重定向的URL中读取内容?
  8. centos7 网卡配置vlan_CentOS7网卡创建vlan步骤
  9. android q桌面,Android Q带来全新桌面模式
  10. ClickHouse数据导入(Flink、Spark、Kafka、MySQL、Hive)
  11. java排序方式(冒泡,选择,JDK)
  12. 树的遍历 ALDS1_7_C:Tree Walk
  13. 最新IP数据库 号段归属地 省市区镇行政区划
  14. 【华人学者风采】钱煦 加州大学圣地亚哥分校
  15. excel 保护表格的方法
  16. 查mysql版本的命令
  17. Linux服务器取证研究,linux系统取证
  18. 湖南财务大数据比赛代码2018-12-20
  19. tcl电视android无响应,应用不足:Android智能电视陷入困境
  20. dp和px的区别,dp与px换算关系

热门文章

  1. 支持html5特性的浏览器,五大主流浏览器对CSS3和HTML5特性支持情况的详细清单
  2. AngularJS进阶(四十)创建模块、服务
  3. 线性回归与逻辑回归的原理、计算步骤、区别、联系
  4. 微信图片去除马赛克_照片怎么去水印,去除图片水印的简朴方式,微信公众号引流的21种方法...
  5. 《卓有成效的管理者》——学习心得(七)
  6. 12星座超级独家!通过星座完美你自己!不断加新中……
  7. 3.2 Execution Model
  8. HTTPS详解及HTTPS实验
  9. ⭐模式匹配与正则表达式
  10. bootstrap使用及解析