python让个人微信号变成聊天机器人的!
一、pip install itchat-uos // 复活版itchat
这个可以绕过微信网页版不能登录的问题
二、通过微信对话平台的第三方接口实现机器人的主要功能,当然你也加上自己的一些功能,让机器人的功能更加丰富
你可以到微信对话平台注册,创建自己的机器人,以下就是创建完机器人的所有功能:
在开放接口里面查看自己的TOKEN信息
import itchat
import requests
import time
import threading
import datetime
import json
now = datetime.datetime.now()
t = time.time()
lists = []
def signature():
data = {'userid':'11111'}
api = requests.post('https://openai.weixin.qq.com/openapi/sign/这里就是要填写你自己创建好的TOKEN信息',data=data)
return api.json()["signature"]
def liaotian(msg):
data = {'signature': signature(),
'query':msg,
'env':'debug'}
api = requests.post('https://openai.weixin.qq.com/openapi/aibot/这里就是要填写你自己创建好的TOKEN信息', data=data)
print(api.json())
api = json.loads(api.text)
if api['answer_type'] == 'news':
neirong = (api['more_info']['news_ans_detail'])
neirong = json.loads(neirong)
neirong = (neirong["data"]['docs'])
print(neirong[0]['abs_l'])
return neirong[0]['abs_l']
if api['answer_type'] == 'music':
try:
neirong = (api['more_info']['music_ans_detail'])
neirong = json.loads(neirong)
neirong = (neirong["play_command"]['play_list'])
album_name = neirong[0]['album_name']
album_pic_url = neirong[0]['album_pic_url']
author = neirong[0]['author']
url = neirong[0]['url']
answer = album_name +'\n'+album_pic_url+'\n'+author+'\n'+url
print(answer)
return answer
except:
neirong = (api['more_info']['fm_ans_detail'])
neirong = json.loads(neirong)
neirong = (neirong['audio_play_command']['play_list'])
album_name = neirong[0]['album_name']
album_pic_url = neirong[0]['album_pic_url']
author = neirong[0]['author']
url = neirong[0]['url']
answer = album_name + '\n' + album_pic_url + '\n' + author + '\n' + url
print(answer)
return answer
else:
return api['answer']
def auto_reply():
if now.strftime("%H") == '10'and now.strftime("%M") == '15': # 定时消息模块
name = itchat.search_friends(name=u'') # 填写你好友的名字
XiaoMing = name[0]["UserName"]
message_concent = liaotian("")
itchat.send(message_concent, XiaoMing)
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
print(msg['User']['NickName'])
#if msg['User']['NickName'] == 'kall2': # 指定特定的用户,没有指定的不返回机器人的消息
print(msg.text)
answer = liaotian(msg.text)
answers = answer
return str(answers)
itchat.auto_login()
threading._start_new_thread(itchat.run,())
while 1:
itchat.configured_reply()
auto_reply()