最近業餘,入了python的坑。
結果越陷越深···
python真的很好喫啊!嘿嘿^o^
本篇將會爲大家詳細介紹一個不超過60行代碼的微信小機器人,另外特別說明下,因爲考慮到官方的支持因素,所以我在學習python之前,直接選擇的是3.X版本。
補充說明:編譯工具選用:頂級神獸-PyCharm
-第一步-
只需要引入兩個庫,itchat 和 requests
import itchat
import requests
-第二步-
這裏選擇的是廣泛在用的圖靈機器人,直接登錄圖靈機器人官網申請一個機器人,找到機器人的Key值複製到代碼裏。
# 圖靈機器人KEY
KEY = '複製機器人Key值到這裏噢'
#發送消息,並獲取圖靈機器人響應信息
def get_response(msg):
apiUrl = 'http://www.tuling123.com/openapi/api'
data = {
'key': KEY,
'info': msg,
'userid': 'wechat-robot'
}
try:
r = requests.post(apiUrl, data=data).json()
return r.get('text')
except:
return
-第三步-
微信端接收消息的設置,itchat.content指定消息類型,isGroupChat和isFriendChat分別爲指定羣組和好友消息來源的開關。
#微信接收消息&迴應
@itchat.msg_register([itchat.content.TEXT, itchat.content.PICTURE], isGroupChat=True, isFriendChat=True)
def tuling_reply(msg):
if manger_jur(msg):
if (msg['MsgType'] == 1): #文本消息類型
defaultReply = 'I received: ' + msg['Text']
reply = get_response(msg['Text'])
return reply or defaultReply
elif (msg['MsgType'] == 47): #表情包消息類型
NickName = msg['User']['NickName']
reply = u"%s,過分了啊!欺負我變形金剛?" % NickName
return reply
else:
print(msg['User']['NickName'] + ': ' + msg['Text'])
在使用過程中,因爲沒做過濾,這貨自動回覆了我所有羣組的消息,包括公司羣裏正兒八經的研討羣之類的···
後來··· ···
所以特別指定了羣組及好友 manger_jur(msg):
# 羣組暱稱
GROUPS = ('羣組1','羣組2')
# 好友暱稱
FRIENDS = ('好友1', '好友2')
# 指定生效羣名or好友暱稱
def manger_jur(msg):
if msg['User']['NickName'] in GROUPS \
or msg['User']['NickName'] in FRIENDS:
return True
else:
return False
-第四步-
添加主函數,相當於Java中的main(),Java出身的我反正是這麼理解的,略略略~
if __name__ == '__main__':
itchat.auto_login(hotReload=True)
itchat.run()
hotReload 是微信登錄的熱加載,值設置爲True的話,程序會保存你的登錄信息,等下次重新運行主函數,就不需要重新掃碼了。
至此,大功告成!
有問題的朋友可以掃下方二維碼,關注後後臺留言,隨緣回覆。哈哈,拜~