Python用图灵机器人实现微信自动回复

论坛 期权论坛 脚本     
匿名网站用户   2020-12-20 14:50   23   0

Python用图灵机器人实现微信自动回复

利用图灵机器人的话首先要到图灵机器人官网注册一个账号

登陆账号后点击头像进行设置,设置完成后点击左边菜单栏里的首页,在里面的“机器人看板”模块可以看到APIkey,这个是我们实现的一个重要部分。
如果不想自己注册的话,在百度也可以找到很多可用的APIkey,我这里用的是找到的一个APIkey :04f44290d4cf462aae8ac563ea7aac16 那么接下来就是我们的代码部分。

我们用Python来实现这次微信自动回复的功能。
我们会用到Python的三个库,requests,itchat,random
这里写图片描述

接下来我们直接贴上代码

# -*- coding=utf-8 -*-

import requests
import itchat
import random

KEY='04f44290d4cf462aae8ac563ea7aac16'

def  get_response(msg):
 #发送给图灵机器人的数据
    apiUrl='http://www.tuling123.com/openapi/api'
    data={
        'key' : KEY,
        'info' : msg,
        'userid' : 'wechat-robot',
    }
    try:
        r=requests.post(apiUrl,data=data).json()
  #向服务器发送请求
        return r.get('text')
  '''
   用try,except的方法来捕获异常
   如果服务器没能正常交互,那么就会执行下面的return
  '''
    except:
        return
 


@itchat.msg_register(itchat.content.TEXT)
#文本信息回复
def tuling_reply(msg):
    defaultReplay='I received: ' + msg['Text']
    robots=['I am Jarvis.May I have a message to Tony?','Hello,I am Jarvis.']
    reply=get_response(msg['Text'])+random.choice(robots)
    #random.choice会从robots中随机选取一个元素,这个可以根据自己喜好来修改
    return reply or defaultReplay
 #reply x or y,如果x有内容就返回x,否则返回y

@itchat.msg_register([itchat.content.PICTURE,itchat.content.RECORDING,itchat.content.VIDEO])
#回复图片/表情,语音,视频
def other_replay(msg):
 defaultReplay='I received: ' + msg['Text']
 robots=['I am Jarvis.May I have a message to Tony?','Hello,I am Jarvis.']
 reply=get_response(msg['Text'])+random.choice(robots)
 return reply or defaultReplay


itchat.auto_login(hotReload=True)
'''不想每次运行程序都扫码,可以设置参数hotReload=True
 如果想在登陆的时候使用命令行显示二维码,可以设置参数enableCmdQR=True
'''
itchat.run()

运行程序然后扫码即可运行

网上还有很多方法,有些比较简便的代码就可以实现了,比如:

@itchat.msg_register(itchat.content.TEXT)
def text_replay(msg):
 if(msg):
 itchat.send_msg(("你的信息已经收到了。"),msg['FromUserName'])
 #可以根据自己的喜好换成自己想回复的话
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP