python 微信机器人_Python 微信机器人

一、写在前边的话

如何做一个自动回复的微信机器人?机器人的功能有,自动加好友,关键字回复,等等,它甚至可以成为你的私人管家,只要你的代码到位。今天,主要讲解下,微信机器人-图灵版。

二、准备

1.python 环境(这是必备的,建议3.6)

2.图灵机器人 key

简单说下 key 的获取,注册网址(http://www.tuling123.com/),注册后选择一个机器人类型,比如:

e710ed76c35c

image

设置好机器人后,就可以获取到了我们想要的 apikey

e710ed76c35c

image

需要注意的事,新手版每天只能回复 1000条,有更多的需求,具体请看官网。

e710ed76c35c

image

三、代码逻辑

先讲讲原理吧,自动回复机器人,主要使用的事itchat的py库,这个库很强大,以后会将它的具体使用,比如防撤回机制,关键字回复,私人管家等等等,itchat 获取到了信息,将A发送的内容发送到图灵后台,进行一次网络数据请求,在将请求回来的数据发到A上。回复的内容是由图灵控制的,免费版,我们也不能自定义回复内容。

四、代码展示

纯净版

#coding=utf8

import requests

import itchat

# KEY5 = '97dcfc0273ae4636951391819c372a39' #换成自己的key

from itchat.content import FRIENDS

def get_response(msg):

apiUrl = 'http://www.tuling123.com/openapi/api'

data = {

'key' : KEY5,

'info' : msg,

'userid' : 'wechat-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):

defaultReply = 'I received: ' + msg['Text']

reply = get_response(msg['Text'])

return reply or defaultReply

@itchat.msg_register(FRIENDS)

def add_friend(msg):

itchat.add_friend(**msg['Text'])

itchat.send_msg('Nice to meet you!', msg['RecommendInfo']['UserName'])

itchat.login()

itchat.run()

注释版

#coding=utf8

import requests

import itchat

# KEY5 = '97dcfc0273ae4636951391819c372a39'

from itchat.content import FRIENDS

KEY5 = '43b32e225ff34302a2c73ef4a5e790d5'

def get_response(msg):

# 这里我们就像在“3. 实现最简单的与图灵机器人的交互”中做的一样

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

apiUrl = 'http://www.tuling123.com/openapi/api'

data = {

'key' : KEY5,

'info' : msg,

'userid' : 'wechat-robot',

}

try:

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

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

return r.get('text')

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

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

except:

# 将会返回一个None

return

# 这里是我们在“1. 实现微信消息的获取”中已经用到过的同样的注册方法

@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.msg_register(FRIENDS)

def add_friend(msg):

itchat.add_friend(**msg['Text']) # 该操作会自动将新好友的消息录入,不需要重载通讯录

itchat.send_msg('Nice to meet you!', msg['RecommendInfo']['UserName'])

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

itchat.login()

# itchat.auto_login(hotReload=True)

itchat.run()

五、总结

以上就是微信机器人的简单应用,你学会了么?itchat 真的是一个特别吊的库,我们下一期讲微信防撤回。

如果你对微信机器人的使用有问题,欢迎公众号留言,我的公众号是MAndroid,我会尽心的为你解答的,我是Lovesosoi,一个集Android 与 python 技术于一身的开发者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值