AI 微信自动聊天机器人

 

微信聊天机器人

# /usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 18-5-4 下午23:37
# @Author  : 杨星星
# @Email   : yangshilong_liu@163.com
# @File    : wechart.py
# @Software: PyCharm

#coding=utf8
import requests
import itchat
import random

# KEY = '8edce3ce905a4c1dbb965e6b35c3834d'
# KEY = 'c3386bd8e60a434a8c5b5106dc766887'

KEY_LIST = ['8edce3ce905a4c1dbb965e6b35c3834d']
def get_response(msg):
    # 这里我们就是在调用别人的api接口 实现最简单的与图灵机器人的交互”中做的一样
    # 构造了要发送给服务器的数据
    apiUrl = 'http://www.tuling123.com/openapi/api'
    data = {
        'key'    : random.choice(KEY_LIST),
        '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
# 这里用到的方法是通用的一个调用方法,具体的可以看下边的我粘贴来的用法详解
@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
    # 为了保证在图灵Key出现问题的时候仍旧可以回复,这里设置一个默认回复
    try:
        defaultReply = '我现在只想模仿你:' + msg['Text']
        # 在测试的发现他是无关政治,我想这句我要加上
        if '台湾'in msg['Text']:
            return '台湾是中国不可分割的一部分,支持祖国收复台湾,建立台湾省'
        # 如果图灵Key出现问题,那么reply将会是None
        reply = get_response(msg['Text']
        # 有内容一般就是指非空或者非None,你可以用`if a: print('True')`来测试
        return reply or defaultReply
    except Exception as error:
        print(error)
        return

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

关于itchat的文档可以查看这里 :文档

我们可以简单看下它的自动聊天效果:

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值