Python 實現(xiàn)圖靈微信機器人

最近看了下python,總感覺如果一直搞前端的東西,缺乏新鮮感。
首先擼了一遍python的基本語法
其實就可以開搞了。
這里用的是我用的是python3 ,mac自帶python2.7,但是這兩個是可以共存的~,千萬不要刪了mac自帶的python,因為里面好多東西都是基于這個版本來實現(xiàn)的。

言歸正傳,要實現(xiàn)微信機器人首先肯定是基于python,這就需要itchat 這個庫
wiki在這里https://itchat.readthedocs.io/zh/latest/intro/handler/

pip3 install itchat

還是相當好玩的。

先導入需要用到的庫

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

然后調(diào)用圖靈的api,根據(jù)消息調(diào)用接口返回數(shù)據(jù)

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注冊回調(diào)方法,當有人跟你說話的時候,就會回調(diào)這個方法,自動回復。

@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'社會主義的接盤人') # 根據(jù)自己的需求設置
  print(item)
  print(msg)
  if msg['FromUserName'] == item:
    
    itchat.send(u'%s' % tuling(msg['Text']), item)

最后調(diào)用啟動代碼,來吊起二維碼登錄就可以實現(xiàn)微信機器人了。

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

腳本地址

一把梭過來,在終端執(zhí)行 python3 groupChat.py

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容