Python 实现图灵微信机器人

最近看了下python,总感觉如果一直搞前端的东西,缺乏新鲜感。
首先撸了一遍python的基本语法
其实就可以开搞了。
这里用的是我用的是python3 ,mac自带python2.7,但是这两个是可以共存的~,千万不要删了mac自带的python,因为里面好多东西都是基于这个版本来实现的。

言归正传,要实现微信机器人首先肯定是基于python,这就需要itchat 这个库
wiki在这里https://itchat.readthedocs.io/zh/latest/intro/handler/

pip3 install itchat

还是相当好玩的。

先导入需要用到的库

from itchat.content import *
import requests
import json
import itchat

然后调用图灵的api,根据消息调用接口返回数据

def tuling(info):
  appkey = "ffeeed42668044478b82261c341268ab"
  url = "http://www.tuling123.com/openapi/api?key=%s&info=%s"%(appkey,info)
  req = requests.get(url)
  content = req.text
  data = json.loads(content)
  answer = data['text']
  return answer

对于单个用户的机器人回复,需要用itchat.msg_regist注册回调方法,当有人跟你说话的时候,就会回调这个方法,自动回复。

@itchat.msg_register([TEXT,MAP,CARD,NOTE,SHARING])
def text_reply(msg):
  itchat.send('%s' % tuling(msg['Text']),msg['FromUserName'])

然后是针对群消息自动回复的

def group_id(name):
  df = itchat.search_chatrooms(name=name)
  return df[0]['UserName']

@itchat.msg_register(TEXT, isGroupChat=True)
def group_text_reply(msg):
  # 当然如果只想针对@你的人才回复,可以设置if msg['isAt']: 
  item = group_id(u'社会主义的接盘人') # 根据自己的需求设置
  print(item)
  print(msg)
  if msg['FromUserName'] == item:
    
    itchat.send(u'%s' % tuling(msg['Text']), item)

最后调用启动代码,来吊起二维码登录就可以实现微信机器人了。

itchat.auto_login(hotReload=True)
itchat.run()

脚本地址

一把梭过来,在终端执行 python3 groupChat.py

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容