网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 机器人 >

python代码:利用几十行python书写微信机器人

时间:2019-03-25 13:44

人气:

作者:admin

标签: 机器人 

导读:python代码:利用几十行python书写微信机器人-1.使用环境系统:window10IDE:spyder主要程序包:itchat(直接在doc中 命令:pip install itchat)...

1.使用环境

系统:window10

IDE:spyder

主要程序包:itchat(直接在doc中 命令:pip install itchat)

2.源程序

import requests

import itchat

#可以自己向图灵机器人申请,这里我已经提供

KEY = ‘2c242b43e94a4e0ca984629828d4e164’

def get_response(msg):

# 构造了要发送给服务器的数据

# 使用图灵机器人提供的接口

apiUrl = ‘http://www.tuling123.com/openapi/api’

#一个发动的api的数据

data = {

‘key’ : KEY,

‘info’ : msg,

‘userid’ : ‘wechat-robot’,

}

try:

#使用post方法去请求

r = requests.post(apiUrl, data=data).json()

# 字典的get方法在字典没有‘text’值的时候会返回None而不会抛出异常

return r.get(‘text’)

# 为了防止服务器没有正常响应导致程序异常退出,这里用try-except捕获了异常

# 如果服务器没能正常交互(返回非json或无法连接),那么就会进入下面的return

except:

# 将会返回一个None

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

# 有内容一般就是指非空或者非None,你可以用`if a: print(‘True’)`来测试

return reply or defaultReply

# 为了让实验过程更加方便(修改程序不用多次扫码),我们使用热启动

itchat.auto_login(hotReload=True)

itchat.run()

itchat.run()

3.程序运行结果

由于本程序主要是在手机上使用微信进行操作,这里对程序运行后进行简要描述:在运行本程序后,系统会自动生成一个二维码供要使用微信机器人使用,扫描后即可使用。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信