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设计】。

相关文章

pip 错误unused-command-line-argument-hard-error-in-future解决办法

在我的Mac Air上,用pip安装一些Python库时,偶尔就会遇到一些报错,关于“unused-command-line-argument-hard-error-in-future”...

python如何将多个PDF进行合并

背景 由于工作性质,经常面对不同的问题,某些场景下SQL+Excel、常用办公软件不能处理,这时到网上找一些案例,自己动手用python处理。后续,借此博客记录比较典型的处理过程。...

使用Python机器学习降低静态日志噪声

使用Python机器学习降低静态日志噪声

持续集成(CI)作业可以产生大量的数据。当作业失败时,找出了什么问题可能是一个繁琐的过程,需要对日志进行调查以发现根本原因-这通常是在作业总输出的一小部分中发现的。为了更容易地将最相关的...

Python笔记之facade模式

Python笔记之facade模式

facade模式,即门面模式,也称外观模式,这个模式的核心思想是使用facade对象为外部客户端提供一个统一的访问一组子系统的接口,即客户端不会直接与各个子系统交互,而是通过facade...

Android分包MultiDex策略详解

1.分包背景 这里首先介绍下MultiDex的产生背景。 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的...