Python 实现微信自动回复的方法

avatar 2020年12月8日10:16:05 评论 265

众所周知QQ上面是可以设置自动回复的,但是微信上面并不可以。最近在学习Python,发现Python的适用范围是真的很广,这里使用itchat组件实现微信的自动回复

1:安装itchat

pip install itchat

2:简单实例:

(1):发送信息

import itchat
itchat.auto_login()
name = itchat.search_friends(name=u'XX') #XX表示昵称或用户名
userName = name[0]["UserName"]
print(userName )
itchat.send_msg('。。。', toUserName=userName)

(2):回复发给自己的文本消息

import itchat
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
  return msg.text
itchat.auto_login()
itchat.run()

3:实现微信自动回复

这里使用到了图灵机器人 http://www.tuling123.com/

注册一个账号添加一个机器人然后根据api文档使用接口即可获得机器人返回值

#获取图灵机器人回复信息
def get_msg(msg):
apiUrl = 'http://openapi.tuling123.com/openapi/api/v2'
data = {
  "perception": {
    "inputText": {
      "text": msg
    },
  },
  "userInfo": {
    "apiKey": "cfada3289203426f842746afdc5c0806",
    "userId": "demo"
  }
}
data = json.dumps(data)
try:
r = requests.post(apiUrl,data = data).json()
return r['results'][0]['values']['text']
except:
return ''
#正常消息自动回复
@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING])
def text_reply(msg):
print(msg.type)
#设置默认回复
defaultmsg = '你好'
#获取图灵机器人的回复信息
reply = get_msg(msg['Text'])
#如果图灵机器人回复信息有误则使用默认回复
replymsg = reply or defaultmsg
return replymsg
#音频,图片自动回复
@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
  msg.download(msg.fileName)
  typeSymbol = {
    PICTURE: 'img',
    VIDEO: 'vid', }.get(msg.type, 'fil')
  return '@%s@%s' % (typeSymbol, msg.fileName)
#好友请求,自动添加并打招呼
@itchat.msg_register(FRIENDS)
def add_friend(msg):
  msg.user.verify()
  msg.user.send('Nice to meet you!')
#群消息自动回复
@itchat.msg_register(TEXT, isGroupChat=True)
def text_reply(msg):
#设置默认回复
defaultmsg = '你好'
#获取图灵机器人的回复信息
reply = get_msg(msg['Text'])
#如果图灵机器人回复信息有误则使用默认回复
replymsg = reply or defaultmsg
return replymsg
itchat.auto_login(hotReload=True)
itchat.run(True)

文章来源于互联网:Python 实现微信自动回复的方法

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: