VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • 微信自动回复如何实现?用 Python 就可以!

实现自动回复的功能,我们需要用到图灵机器人,网址为: http://www.turingapi.com ,我们在浏览器中输入上述网址打开,之后点击 注册/登录 按钮,如下图所示:

打开后如下图所示:

我们接着点击 立即注册 ,就跳转到了注册页,如下图所示:

我们先填写必填信息,填写完之后点击 注册 按钮即可,注册成功之后便跳到了机器人管理页面,如下所示:

我们点击 创建机器人 按钮跳转到如下页面:

我们填写完相应信息之后点 创建 按钮,之后会跳转到机器人设置页面,如下图所示:

我们需要记录下 apikey 。

有了 apikey ,我们就可以实现自动回复功能了,实现代码如下所示:

import time, logging, random, requests
from queue import Queue
from WechatPCAPI import WechatPCAPI

logging.basicConfig(level=logging.INFO)
queue_recved_event = Queue()

def on_message(msg):
    queue_recved_event.put(msg)

# 机器人返回消息
def reply_msg(receive_msg):
    apikey = '自己的apikey'
    apiurl = 'http://www.tuling123.com/openapi/api?key=%s&info=%s' % (apikey, receive_msg)
    result = requests.get(apiurl)
    result.encoding = 'utf-8'
    data = result.json()
    return data['text']

def login():
    pre_msg = ''
    # 初始化微信实例
    wx_inst = WechatPCAPI(on_message=on_message, log=logging)
    # 启动微信
    wx_inst.start_wechat(block=True)
    # 等待登陆成功,此时需要人为扫码登录微信
    while not wx_inst.get_myself():
        time.sleep(5)
    print('登陆成功')
    while True:
        msg = queue_recved_event.get()
        if 'msg::single' in msg.get('type'):
            data = msg.get('data')
            if data.get('is_recv', False):
                msgfrominfo = data.get('msgfrominfo')
                if msgfrominfo is not None:
                    wx_id = msgfrominfo.get('wx_id')
                    if wx_id != 'weixin':
                        receive_msg =str(data.get('msgcontent'))
                        reply = reply_msg(receive_msg)
                        wx_inst.send_text(to_user=wx_id, msg=reply)

看一下实现效果:


相关教程