python调用API实现智能回复机器人

yipeiwu_com6年前Python基础

本文实例为大家分享了python调用API实现机器人的具体代码,供大家参考,具体内容如下

注意事项:

下面代码中的APIKEY需要替换

需要有自己的公众号平台,并且自己成为管理员,

http://www.tuling123.com 

这个网址上要有账号并且创建机器人,在帮助中心里可以获取APIkey,然后填入下方的代码中。

#图灵机器人 
def talks_robot(info = '你叫什么名字'): 
 api_url = 'http://www.tuling123.com/openapi/api' 
 apikey = '4fede3c4384846b9a7d0456a5e1e2943' 
 data = {'key': apikey, 
    'info': info} 
 req = requests.post(api_url, data=data).text 
 replys = json.loads(req)['text'] 
 return replys 
 
#微信自动回复 
robot = Bot() 
# 回复来自其他好友、群聊和公众号的消息 
@robot.register() 
def reply_my_friend(msg): 
 message = '{}'.format(msg.text) 
 replys = talks_robot(info=message) 
 return replys 
 
# 开始监听和自动处理消息 
robot.start() 

或者也可以使用下列代码:

# -*- coding: utf-8 -*- 
import requests 
import itchat # 这是一个用于微信回复的库 
 
KEY = '8edce3ce905a4c1dbb965e6b35c3834d' # 这个key可以直接拿来用 
 
 
# 向api发送请求 
def get_response(msg): 
 apiUrl = 'http://www.tuling123.com/openapi/api' 
 data = { 
  'key': KEY, 
  'info': msg, 
  'userid': 'pth-robot', 
 } 
 try: 
  r = requests.post(apiUrl, data=data).json() 
  return r.get('text') 
 except: 
  return 
 
# 注册方法 
@itchat.msg_register(itchat.content.TEXT) 
def tuling_reply(msg): 
 # 为了保证在图灵Key出现问题的时候仍旧可以回复,这里设置一个默认回复 
 defaultReply = 'I received: ' + msg['Text'] 
 # 如果图灵Key出现问题,那么reply将会是None 
 reply = get_response(msg['Text']) 
 # a or b的意思是,如果a有内容,那么返回a,否则返回b 
 return reply or defaultReply 
 
 
# 为了让修改程序不用多次扫码,使用热启动 
itchat.auto_login(hotReload=True) 
itchat.run() 

以上两端代码使用其中一段即可,近期使用,确认可用

代码运行后,会弹出一个二维码界面,扫描并等待一段时间后即可。

此时,自己运营的公众号就会具有智能回复功能,在后台对公众号直接发信息即可,他就会智能回复了。

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

相关文章

Selenium(Python web测试工具)基本用法详解

Selenium(Python web测试工具)基本用法详解

本文实例讲述了Selenium基本用法。分享给大家供大家参考,具体如下: Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作...

Python入门教程5. 字典基本操作【定义、运算、常用函数】 原创

前面简单介绍了Python元组基本操作,这里再来简单讲述一下Python字典相关操作 >>> dir(dict) #查看字段dict的属性和方法 ['__class...

python超时重新请求解决方案

在应用中,有时候会 依赖第三方模块执行方法,比如调用某模块的上传下载,数据库查询等操作的时候,如果出现网络问题或其他问题,可能有超时重新请求的情况; 目前的解决方案有 1. 信号量,但不...

pd.DataFrame统计各列数值多少的实例

如下所示: .count() #非空元素计算 .min() a #最小值 .max() #最大值 .idxmin() #最小值的位置,类似于R中的which.min函...

启动Atom并运行python文件的步骤

启动Atom并运行python文件的步骤

atom(一款开源的代码编辑器)是github专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编...