python聊天机器人学习笔记

首先进入图灵机器人官网
http://operation.tuling123.com/
注册一个图灵机器人

api接入

apikey:691fd571a0cd4014bfc059f5d21c17d5

密钥: 5593b7cfdc7a3145

pip install -U wxpy //安装微信的登录程序

from wxpy import *
bot = Bot()
//扫码微信登录

bot.file_helper.send(“hello”)
给微信的文件传输助手发送短信

-- coding: utf-8 --
import json
import requests
from wxpy import *

#调用图灵机器人API,发送消息并获得机器人的回复
def auto_reply(text):
url = “http://www.tuling123.com/openapi/api”
api_key = “691fd571a0cd4014bfc059f5d21c17d5”
payload = {
“key”: 691fd571a0cd4014bfc059f5d21c17d5,
“info”: text,
“userid”: “5593b7cfdc7a3145”
}
r = requests.post(url, data=json.dumps(payload))
result = json.loads(r.content)
return "[tuling] " + result[“text”]

bot = Bot(console_qr=True, cache_path=True)

@bot.register(mp)
def forward_message(msg):
return auto_reply(msg.text)

embed()

found = bot.friends().search(‘钱广志’)
其中xx代表好友备注。

@bot.register(found)
def message(msg):
ret = “在吗”
return ret
embed()
在登录并且找到好友后就可以进行聊天了,
这里用到了@bot.register(),
这个就是把下面的函数绑定,
然后如果微信好友发消息的话,
就会调用该函数,

这个里面的
found就是你上面查找到的好友,这里就是把他们绑定在一起了,之后就可以自动帮你回复了,
ret就是回复的内容,而
msg中就存储的是好友发送的内容。

因为这个程序需要等待别人发送消息来,
所以需要在后面加上embed(),
相当于程序阻塞在那里,
要不然程序一下就运行完了,
就不能持续接发消息了。
from wxpy import *

#实例化,并登录微信

bot = Bot(cache_path=True)
#查找到要使用机器人来聊天的好友

my_friend = ensure_one(bot.search(u’钱广志’))
调用图灵机器人API

tuling = Tuling(api_key=‘691fd571a0cd4014bfc059f5d21c17d5’)

@bot.register()

tuling.do_reply(msg)

embed()

小爱 小度 //http://www.tuling123.com/openapi/api
苹果 siri
google // Google 人工智能

下面附上完整代码

import requests
import itchat

KEY = '691fd571a0cd4014bfc059f5d21c17d5'


def get_response(msg):
    # 这里我们就像在“3. 实现最简单的与图灵机器人的交互”中做的一样
    # 构造了要发送给服务器的数据
    apiUrl = 'http://www.tuling123.com/openapi/api'
    data = {
        'key'    : KEY,
        '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.auto_login(hotReload=True)
itchat.run()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公孙无语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值