python 微信机器人_Python 微信机器人
一、寫在前邊的話
如何做一個自動回復的微信機器人?機器人的功能有,自動加好友,關鍵字回復,等等,它甚至可以成為你的私人管家,只要你的代碼到位。今天,主要講解下,微信機器人-圖靈版。
二、準備
1.python 環境(這是必備的,建議3.6)
2.圖靈機器人 key
簡單說下 key 的獲取,注冊網址(http://www.tuling123.com/),注冊后選擇一個機器人類型,比如:
image
設置好機器人后,就可以獲取到了我們想要的 apikey
image
需要注意的事,新手版每天只能回復 1000條,有更多的需求,具體請看官網。
image
三、代碼邏輯
先講講原理吧,自動回復機器人,主要使用的事itchat的py庫,這個庫很強大,以后會將它的具體使用,比如防撤回機制,關鍵字回復,私人管家等等等,itchat 獲取到了信息,將A發送的內容發送到圖靈后臺,進行一次網絡數據請求,在將請求回來的數據發到A上。回復的內容是由圖靈控制的,免費版,我們也不能自定義回復內容。
四、代碼展示
純凈版
#coding=utf8
import requests
import itchat
# KEY5 = '97dcfc0273ae4636951391819c372a39' #換成自己的key
from itchat.content import FRIENDS
def get_response(msg):
apiUrl = 'http://www.tuling123.com/openapi/api'
data = {
'key' : KEY5,
'info' : msg,
'userid' : 'wechat-robot',
}
try:
r = requests.post(apiUrl, data=data).json()
return r.get('text')
except:
return
@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
defaultReply = 'I received: ' + msg['Text']
reply = get_response(msg['Text'])
return reply or defaultReply
@itchat.msg_register(FRIENDS)
def add_friend(msg):
itchat.add_friend(**msg['Text'])
itchat.send_msg('Nice to meet you!', msg['RecommendInfo']['UserName'])
itchat.login()
itchat.run()
注釋版
#coding=utf8
import requests
import itchat
# KEY5 = '97dcfc0273ae4636951391819c372a39'
from itchat.content import FRIENDS
KEY5 = '43b32e225ff34302a2c73ef4a5e790d5'
def get_response(msg):
# 這里我們就像在“3. 實現最簡單的與圖靈機器人的交互”中做的一樣
# 構造了要發送給服務器的數據
apiUrl = 'http://www.tuling123.com/openapi/api'
data = {
'key' : KEY5,
'info' : msg,
'userid' : 'wechat-robot',
}
try:
r = requests.post(apiUrl, data=data).json()
# 字典的get方法在字典沒有'text'值的時候會返回None而不會拋出異常
return r.get('text')
# 為了防止服務器沒有正常響應導致程序異常退出,這里用try-except捕獲了異常
# 如果服務器沒能正常交互(返回非json或無法連接),那么就會進入下面的return
except:
# 將會返回一個None
return
# 這里是我們在“1. 實現微信消息的獲取”中已經用到過的同樣的注冊方法
@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
# 為了保證在圖靈Key出現問題的時候仍舊可以回復,這里設置一個默認回復
defaultReply = 'I received: ' + msg['Text']
# 如果圖靈Key出現問題,那么reply將會是None
reply = get_response(msg['Text'])
# a or b的意思是,如果a有內容,那么返回a,否則返回b
# 有內容一般就是指非空或者非None,你可以用`if a: print('True')`來測試
return reply or defaultReply
# 收到好友邀請自動添加好友
@itchat.msg_register(FRIENDS)
def add_friend(msg):
itchat.add_friend(**msg['Text']) # 該操作會自動將新好友的消息錄入,不需要重載通訊錄
itchat.send_msg('Nice to meet you!', msg['RecommendInfo']['UserName'])
# 為了讓實驗過程更加方便(修改程序不用多次掃碼),我們使用熱啟動
itchat.login()
# itchat.auto_login(hotReload=True)
itchat.run()
五、總結
以上就是微信機器人的簡單應用,你學會了么?itchat 真的是一個特別吊的庫,我們下一期講微信防撤回。
如果你對微信機器人的使用有問題,歡迎公眾號留言,我的公眾號是MAndroid,我會盡心的為你解答的,我是Lovesosoi,一個集Android 與 python 技術于一身的開發者。
總結
以上是生活随笔為你收集整理的python 微信机器人_Python 微信机器人的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xgboost分类_XGBoost(Ex
- 下一篇: nedc工况_东南DX3 EV续航升级