Python實現企業微信通知機器人的方法詳解
上次介紹瞭如何通過釘釘進行群通知,有同學反饋自己更習慣使用企業微信或公司使用瞭企業微信,希望也能出個基於Python的企業微信的群通知教程,於是便有瞭本文。
事實上兩者的配置方法和使用方法非常相似,都是通過機器人進行通知,下面就教大傢如何使用Python對企業微信進行群通知。
1.準備
開始之前,你要確保Python和pip已經成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。
(可選1) 如果你用Python的目的是數據分析,可以直接安裝Anaconda,它內置瞭Python和pip.
(可選2) 此外,推薦大傢用VSCode編輯器,它有許多的優點
請選擇以下任一種方式輸入命令安裝依賴:
1. Windows 環境 打開 Cmd (開始-運行-CMD)。
2. MacOS 環境 打開 Terminal (command+空格輸入Terminal)。
3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install requests
2.配置企業微信機器人
為瞭能夠通過Python發送企業微信通知,首先我們需要在企業微信群聊(這個群裡可以隻有你和機器人)中添加一個群機器人:
然後填寫機器人名稱:
最後會獲得一個webhook地址:
通過這個webhook地址,我們就能通過Python給企業微信發送通知瞭。
3.Python 發送企業微信通知
通過requests模塊對webhook地址發送post請求就能發送通知:
# 公眾號:Python實用寶典 import requests def send_weixin(content): url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的webhook密鑰" # 這裡就是群機器人的Webhook地址 headers = {"Content-Type": "application/json"} # http數據頭,類型為json data = { "msgtype": "text", "text": { "content": content, # 讓群機器人發送的消息內容。 "mentioned_list": [], } } r = requests.post(url, headers=headers, json=data) # 利用requests庫發送post請求 send_weixin("人工智能: 175")
效果如下:
在 menthoned_list 參數中,你還可以增加 @所有人 的選項:
# 公眾號:Python實用寶典 import requests def send_weixin(content): url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的webhook密鑰" # 這裡就是群機器人的Webhook地址 headers = {"Content-Type": "application/json"} # http數據頭,類型為json data = { "msgtype": "text", "text": { "content": content, # 讓群機器人發送的消息內容。 "mentioned_list": ["@all", ], # @全體成員 } } r = requests.post(url, headers=headers, json=data) # 利用requests庫發送post請求 send_weixin("人工智能: 175")
這樣會在消息發出的同時,提醒所有人查看信息。
此外,機器人的msgtype支持文本(text)、markdown(markdown)、圖片(image)、圖文(news)四種消息類型。
Markdown的發送方法如下:
# 公眾號:Python實用寶典 import requests def send_weixin_md(content): url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的webhook密鑰" # 這裡就是群機器人的Webhook地址 headers = {"Content-Type": "application/json"} # http數據頭,類型為json data = { "msgtype": "markdown", "markdown": { "content": content, "mentioned_list": ["@all", ], # @全體成員 } } r = requests.post(url, headers=headers, json=data) # 利用requests庫發送post請求 send_weixin("實時新增用戶反饋<font color=\"warning\">132例</font>,請相關同事註意。\n >類型:<font color=\"comment\">用戶反饋</font> >普通用戶反饋:<font color=\"comment\">117例</font> >VIP用戶反饋:<font color=\"comment\">15例</font>")
如果你需要發單獨的圖片,請使用image類型,並將圖片的md5和base64傳入到image參數,完整的data的格式如下:
# 公眾號:Python實用寶典 import requests def send_weixin_images(MD5, base64data): url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的webhook密鑰" # 這裡就是群機器人的Webhook地址 headers = {"Content-Type": "application/json"} # http數據頭,類型為json data = { "msgtype": "image", "image": { "base64": base64data, "md5": MD5 } } r = requests.post(url, headers=headers, json=data) # 利用requests庫發送post請求 send_weixin(MD5, base64data)
註:圖片(base64編碼前)最大不能超過2M,支持JPG,PNG格式,效果如下:
圖文類型你隻需要配置圖片、說明文字及跳轉鏈接,也非常方便:
# 公眾號:Python實用寶典 import requests def send_weixin_images(title, description, url, picurl): url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的webhook密鑰" # 這裡就是群機器人的Webhook地址 headers = {"Content-Type": "application/json"} # http數據頭,類型為json data = { "msgtype": "news", "news": { "articles" : [ { "title" : title, "description" : description, "url" : url, "picurl" : picurl } ] } } r = requests.post(url, headers=headers, json=data) # 利用requests庫發送post請求 send_weixin("中秋節禮品領取", "今年中秋節公司有豪禮相送", "www.qq.com", "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png")
怎麼樣,上述四種通知類型中有你需要的嗎?有的話就趕快拿去使用吧!
以上就是Python實現企業微信通知機器人的方法詳解的詳細內容,更多關於Python企業微信通知機器人的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- 基於Python實現開發釘釘通知機器人
- Python實現發送警告通知到企業微信方法詳解
- 教你利用python實現企業微信發送消息
- 使用Python實現給企業微信發送消息功能
- Python 京東雲無線寶消息推送功能