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


Posted in Python onApril 10, 2018

本文实例为大家分享了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 相关文章推荐
Python类的定义、继承及类对象使用方法简明教程
May 08 Python
Python的Django框架安装全攻略
Jul 15 Python
Python实现类似jQuery使用中的链式调用的示例
Jun 16 Python
python目录与文件名操作例子
Aug 28 Python
python中安装Scrapy模块依赖包汇总
Jul 02 Python
对python3标准库httpclient的使用详解
Dec 18 Python
python自定义函数实现一个数的三次方计算方法
Jan 20 Python
python 判断文件还是文件夹的简单实例
Jun 10 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
django序列化时使用外键的真实值操作
Jul 15 Python
python一些性能分析的技巧
Aug 30 Python
解决Python import .pyd 可能遇到路径的问题
Mar 04 Python
python读取文本中数据并转化为DataFrame的实例
Apr 10 #Python
python实现百度语音识别api
Apr 10 #Python
Python Selenium Cookie 绕过验证码实现登录示例代码
Apr 10 #Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
Apr 10 #Python
python pandas dataframe 行列选择,切片操作方法
Apr 10 #Python
python3下实现搜狗AI API的代码示例
Apr 10 #Python
Python基于pycrypto实现的AES加密和解密算法示例
Apr 10 #Python
You might like
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
Add a Picture to a Microsoft Word Document
2007/06/15 Javascript
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
在Javascript中 声明时用"var"与不用"var"的区别
2013/04/15 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
nodejs动态创建二维码的方法
2017/08/12 NodeJs
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
2019/09/25 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
Python中集合类型(set)学习小结
2015/01/28 Python
Python装饰器使用示例及实际应用例子
2015/03/06 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
文明旅游倡议书
2015/04/28 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
Redis过期数据是否会被立马删除
2022/07/23 Redis