Python使用微信接入图灵机器人过程解析

yipeiwu_com6年前Python基础

这篇文章主要介绍了Python使用微信接入图灵机器人过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.wxpy库介绍

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

https://wxpy.readthedocs.io/

从 PYPI 官方源下载安装

pip install -U wxpy 

2.图灵机器人

首先注册一个账号:http://www.turingapi.com/ ,然后可以创建一个自己的图灵机器人

3.使用微信接入图灵机器人

实现代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#time: 2017/08/15 20:53:19
#version 1.0
#__author__:lanlong
#参看网址http://wxpy.readthedocs.io/zh/latest/index.html
import requests
from wxpy import *
import json
import random
robot = Bot()#定义robot对象
#图灵机器人获取回复消息
def talks_robot(info = 'hello worle'):
  api_url = 'http://www.tuling123.com/openapi/api'  #图灵机器人api接口
  apikey = 'your api'     #图灵api密钥
  data = {'key': apikey,
        'info': info}
  req = requests.post(api_url, data=data).text #通过接收消息info,对数据在封装,向灵图机器人发出请求请求,并获得回复
  replys = json.loads(req)['text']      #loads方法是把json对象转化为python对象,dumps方法是把pyhon对象转化为json对象
  return replys                #返回回复数据
@robot.register()#灵图机器人注册注册
def tuling_reply(msg):#回复来自其他好友、群聊和公众号的消息
  defaultReply = '我接受: ' + msg.text  #为了保证在图灵Key出现问题的时候仍旧可以回复,这里设置一个默认回复
  robots = ['——By机器人李', '——By反正不是本人','我是灵图的机器人']#防止误解追加解释,可以去掉
  message = '{}'.format(msg.text)#格式转换,转换为字符串
  replys = talks_robot(info=message)+random.choice(robots)
  return replys or defaultReply
if __name__ == '__main__':
  robot.start()  #开始监听和自动处理消息
  embed()   #进入 Python 命令行、让程序保持运行

4.效果

5.最后

这个图灵机器人,认证后,一天有100次免费调用,玩玩够了。当然,这个机器人,不止应用到微信群,感兴趣可以去了解。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈tensorflow中张量的提取值和赋值

浅谈tensorflow中张量的提取值和赋值

tf.gather和gather_nd从params中收集数值,tf.scatter_nd 和 tf.scatter_nd_update用updates更新某一张量。严格上说,tf.ga...

详解Django通用视图中的函数包装

用函数包装来处理复杂的数据过滤 另一个常见的需求是按URL里的关键字来过滤数据对象。 之前,我们在URLconf中硬编码了出版商的名字,但是如果我们想用一个视图就显示某个任意指定的出版商...

Python中的zipfile模块使用详解

zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,下面具体介绍一下: class zipfile.ZipFile(file[, mode[,...

python写的一个squid访问日志分析的小程序

python写的一个squid访问日志分析的小程序

这两周组里面几位想学习python,于是我们就创建了一个这样的环境和氛围来给大家学习。 昨天在群里,贴了一个需求,就是统计squid访问日志中ip 访问数和url的访问数并排序,不少同学...

tensorflow 加载部分变量的实例讲解

tensorflow模型保存为saver = tf.train.Saver()函数,saver.save()保存模型,代码如下: import tensorflow as tf...