用 Python 实现聊天机器人

0 前言

一个人在家无聊,所以我打算弄一个机器人和自己聊天,后来弄着弄着就出现一点小偏差,聊天机器人是有了,就是没办法用来和自己聊天,只能给别人聊天

不过,好在也算是实现了,那就把具体过程分享出来吧

1 环境说明

Win10 系统下 Python3,编译器是 Pycharm,需安装 wxpy 和 pillow 这两个库。

1.1 安装第三方库

1.1.1 没安装 Pycharm

系统是 Win10 的话,直接按Win键+R,然后输入cmd,然后按回车。

然后分别输入pip install -U wxpy 和 pip install pillow 就可以安装 wxpy 和 pillow了。

1.1.2 安装了Pycharm

安装了就直接按照下面的来

1.2 申请API

去申请一个图灵机器人的 API,然后把获得的 API key 记住

链接:http://www.tuling123.com/

先注册,然后找到机器人设置,下拉一点,就可以找到 API key 了

2 相关代码

2.1 使用图灵机器人自动与指定好友聊天

from wxpy import *
bot = Bot()
my_friend = ensure_one(bot.search('好友名字'))  #想和机器人聊天的好友的备注
tuling = Tuling(api_key='你申请的 API KEY')
@bot.register(my_friend)  # 使用图灵机器人自动与指定好友聊天
def reply_my_friend(msg):
    tuling.do_reply(msg)
embed()

2.1 群聊

from wxpy import *
bot = Bot(cache_path=True)
my_group = bot.groups().search('群聊名称')[0]  # 记得把名字改成想用机器人的群
tuling = Tuling(api_key='你申请的 API KEY')  # 一定要添加,不然实现不了
@bot.register(my_group, except_self=False)  # 使用图灵机器人自动在指定群聊天
def reply_my_friend(msg):
    print(tuling.do_reply(msg))
embed()

只要前面都是没出错,把代码复制到 pycharm ,然后把名字和 API key 修改一下就可以了。(这里只介绍安装了 pycharm 后的做法)

然后就是运行代码,先鼠标右键,然后选择 Run

等一会儿就会看见有一个二维码出现,用手机扫描该二维码,在手机上面点击登录,看见 Login successfully as 你的微信昵称就说明成功了,可以让人调戏机器人了。

如果是群聊,有两个微信号、两台手机的体验才是最好的;一对一的话就随意了,怎么来都行。

如果测试过程中发现登录不了,可能是两个原因:

  1. 微信版本过低,升级吧
  2. 登录了这个,请不要再登录网页版微信,也不要退出当前的网页版微信。

3 相关说明

wxpy 这个库是基于 itchat 的,我是因为使用不了 itchat 才使用 wxpy 的

(个人觉得 wxpy 的体验相对较好。)

wxpy 不但可以实现聊天机器人,还覆盖了各类常见基本功能:

  • 发送文本、图片、视频、文件
  • 通过关键词或用户属性搜索 好友、群聊、群成员等
  • 获取好友/群成员的昵称、备注、性别、地区等信息
  • 加好友,建群,邀请入群,移出群

对了,图灵机器人可以接入微信公众号的,我已经接入了,暂时来说不会关,和我的机器人聊个天呗~

如你所见微信号和QQ都可以接入,就看你愿不愿意了,接入功能不需要使用python,直接注册就可以使用。

还有一个小i机器人,也是可以直接接入微信公众号(至于用 wxpy 实现群聊机器人,我弄了好久都没搞定

现实测试中,感觉图灵机器人比小i机器人智能一点,不过小i机器人可以设置自动回复。

对了,唠叨一句,最好不要两个都开了,而且,不知道为什么,我关不了小i机器人,哪怕我已经删除公众号了

4 相关链接

itchat 的项目主页:https://github.com/littlecodersh/itchat

itchat 的说明文档:http://itchat.readthedocs.io/zh/latest/

wxpy 的项目主页:https://github.com/youfou/wxpy

wxpy 的说明文档:http://wxpy.readthedocs.io/zh/latest/

申请图灵机器人:http://www.tuling123.com/

申请小i机器人:http://cloud.xiaoi.com/

题图:by Cole Hutson on Unsplash

原文发布于微信公众号 - 萧北月(beiyue_lbj)

原文发表时间:2018-02-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏极客猴

Linux ,越折腾越喜欢

今天这波分享可以说是自己热血来潮。起因是自己收到某个问答社区小秘的问题邀请。问题是《谁能给我推荐几本linux的书?从基础到进阶提高的linux书?》。自己挺怀...

30030
来自专栏FreeBuf

揭秘:Windows10预览版监视你一举一动

本月初微软在美国旧金山为其新版Windows系统举行了一场发布会,会上微软正式了宣布新一代桌面操作系统为Windows 10,居然直接从Windows 8跃迁到...

20890
来自专栏企鹅号快讯

C语言真的太强大了,C几乎无处不在!

今天存在的许多C项目都是在几十年前开始的。 UNIX操作系统的开发始于1969年,其代码在1972年被重写为C语言。C语言实际上是为了将UNIX内核代码从汇编语...

57470
来自专栏IT派

什么是 Native、Web App、Hybrid、React Native 和 Weex?

Native、Web App、Hybrid、React Native(后面以RN简称)、Weex 间的异同点,后期同步 小程序 和 PWA。

22120
来自专栏互联网数据官iCDO

无埋点实现监测的真相——革新还是噱头?

小编提示:   本文是宋星老师独家为iCDO供稿。对于想要了解无埋点这一监测方法的朋友,是非常深入浅出,详尽清楚的一篇高质量文章。   这篇文章介绍了: 1. ...

85870
来自专栏开源项目

GVP 特辑!PHP 老司机力荐的 6 款实战项目 | 码云周刊第 40 期

GVP 特辑 有数据显示,全球前100万的站点中,有超过70%的站点是使用 PHP 开发的。面对如此流行的编程语言,我们如何才能更有效率的学习?今天小编特意...

56450
来自专栏视频咖

从0到1搭建视频通话系统,我1天就搞定了

最近被老大分配了一个任务,他打开微信视频聊天,发起多人视频,指着功能界面说,“你看我们的产品也是有多人会议的场景,我们也加一个这样的功能,也不用很复杂,就仿照微...

53030
来自专栏九彩拼盘的叨叨叨

想雇助理帮你打理简书,让我写个程序帮你吧~

在简书上写东西,为了让更多合适的人看到,我们不得不做一些和写作无关的事。比如给专题投稿。有人会做的更多,如:给新的粉丝发介绍自己的简信;将粉丝进行分类,当写了新...

8140
来自专栏Android开发实战

Android 一直怎样在速度上追赶 iOS

一直以来人们都有这样的印象,认为搭载iOS系统的iPhone一定比搭载Android系统的安卓手机流畅。潜移默化中,不少果粉甚至是普通吃瓜群众都形成了这样的思维...

10720
来自专栏SDNLAB

一个白牌厂商视角:极简交换机NOS演进史

传统的交换机操作系统(简称NOS)对大众是一个相对封闭的领域。随着白牌交换机的高速增长,NOS纷纷开源,NOS的开发者也从只有设备商工程师,扩大到互联网,运营商...

43040

扫码关注云+社区

领取腾讯云代金券