IT类作者联盟简友广场想法

Python+思知机器人=微信聊天自动回复(还会撩妹~)

2019-07-11  本文已影响69人  不学无术丶

Q:实现原理是怎样的?
A:当有微信好友发来消息时,自动请求思知机器人API接口,把消息转发给思知机器人,再把机器人回复的消息转发给微信好友,实现微信聊天自动回复,即所谓的微信聊天机器人~

Q:“撩妹”前需要准备什么?
A:开发工具Pycharm,第三方库requests、itchat,思知机器人开放平台账号(轻松注册),搞定!
补充一下:账号的个人中心可以找到ID信息,创建机器人后在控制台可以找到Appid信息,这两个信息在后面的代码里会用到。

Q:为什么是思知机器人而不是图灵机器人
A:两个机器人都能实现这一操作,仅在调用API接口时略有区别。另外嘛.....图灵机器人每日调用次数有限制,充钱才能变强......而思知机器人调用无次数限制,适合非人命币玩家。还有就是思知机器人没图灵那么聪明,哈哈哈哈(如果想使用图灵机器人,对相关代码有需求的先私信吧)

Q:还有什么要问的吗???
.....

对代码做如下解释,希望有助于理解:

下面就是具体的代码,愿你撩妹成功,开心撒花~

# -*- coding:utf-8-*-
import requests
import itchat


headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
        'Referer': 'https://robot.ownthink.com/',
}        #  出于习惯加上的请求头,可无


def get_data(text):
  # 请求思知机器人API所需要的一些信息  
    data = {
        "appid": "填自己的",
        "userid": "填自己的",
        "spoken": text,
    }
    return data


def get_answer(text):
    # 获取思知机器人的回复信息
    data = get_data(text)
    url = 'https://api.ownthink.com/bot'  # API接口
    response = requests.post(url=url, data=data, headers=headers) 
    response.encoding = 'utf-8'
    result = response.json()
    answer = result['data']['info']['text']
    return answer


@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
    myself = itchat.get_friends(update=True)[0]['NickName']
    friend = msg['User']['NickName']
    content = msg['Content']  # 好友发来信息的内容
    if friend != myself and friend != 'FRIEND':
        print('%s: %s' % (friend, content))
        answer = get_answer(msg['Text'])  # 收到信息时,调用思知机器人并获取机器人的回复信息
        itchat.send(answer, msg['FromUserName'])  # 将机器人的回复信息转发给该好友
        print('我:%s' % answer)


itchat.auto_login(hotReload=True)
itchat.run()
上一篇 下一篇

猜你喜欢

热点阅读