Python實現(xiàn)企業(yè)微信通知機器人的方法詳解
上次介紹了如何通過釘釘進行群通知,有同學反饋自己更習慣使用企業(yè)微信或公司使用了企業(yè)微信,希望也能出個基于Python的企業(yè)微信的群通知教程,于是便有了本文。
事實上兩者的配置方法和使用方法非常相似,都是通過機器人進行通知,下面就教大家如何使用Python對企業(yè)微信進行群通知。
1.準備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。
(可選1) 如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda,它內(nèi)置了Python和pip.
(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點
請選擇以下任一種方式輸入命令安裝依賴:
1. Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip?install?requests
2.配置企業(yè)微信機器人
為了能夠通過Python發(fā)送企業(yè)微信通知,首先我們需要在企業(yè)微信群聊(這個群里可以只有你和機器人)中添加一個群機器人:
然后填寫機器人名稱:
最后會獲得一個webhook地址:
通過這個webhook地址,我們就能通過Python給企業(yè)微信發(fā)送通知了。
3.Python 發(fā)送企業(yè)微信通知
通過requests模塊對webhook地址發(fā)送post請求就能發(fā)送通知:
# 公眾號: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數(shù)據(jù)頭,類型為json ????data = { ????????"msgtype":?"text", ????????"text": { ????????????"content": content,?# 讓群機器人發(fā)送的消息內(nèi)容。 ????????????"mentioned_list": [], ????????} ????} ????r = requests.post(url, headers=headers, json=data)?# 利用requests庫發(fā)送post請求 send_weixin("人工智能: 175")
效果如下:
在 menthoned_list 參數(shù)中,你還可以增加 @所有人 的選項:
# 公眾號: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數(shù)據(jù)頭,類型為json ????data = { ????????"msgtype":?"text", ????????"text": { ????????????"content": content,?# 讓群機器人發(fā)送的消息內(nèi)容。 ????????????"mentioned_list": ["@all", ],?# @全體成員 ????????} ????} ????r = requests.post(url, headers=headers, json=data)?# 利用requests庫發(fā)送post請求 send_weixin("人工智能: 175")
這樣會在消息發(fā)出的同時,提醒所有人查看信息。
此外,機器人的msgtype支持文本(text)、markdown(markdown)、圖片(image)、圖文(news)四種消息類型。
Markdown的發(fā)送方法如下:
# 公眾號: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數(shù)據(jù)頭,類型為json ????data = { ????????"msgtype":?"markdown", ????????"markdown": { ????????????"content": content, ????????????"mentioned_list": ["@all", ],?# @全體成員 ????????} ????} ????r = requests.post(url, headers=headers, json=data)?# 利用requests庫發(fā)送post請求 send_weixin("實時新增用戶反饋<font color=\"warning\">132例</font>,請相關(guān)同事注意。\n ?????????>類型:<font color=\"comment\">用戶反饋</font> ?????????>普通用戶反饋:<font color=\"comment\">117例</font> ?????????>VIP用戶反饋:<font color=\"comment\">15例</font>")
如果你需要發(fā)單獨的圖片,請使用image類型,并將圖片的md5和base64傳入到image參數(shù),完整的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數(shù)據(jù)頭,類型為json ????data = { ????????"msgtype":?"image", ????????"image": { ????????????"base64": base64data, ????????????"md5": MD5 ????????} ????} ????r = requests.post(url, headers=headers, json=data)?# 利用requests庫發(fā)送post請求 send_weixin(MD5, base64data)
注:圖片(base64編碼前)最大不能超過2M,支持JPG,PNG格式,效果如下:
圖文類型你只需要配置圖片、說明文字及跳轉(zhuǎn)鏈接,也非常方便:
# 公眾號: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數(shù)據(jù)頭,類型為json ????data = { ????????"msgtype":?"news", ????????"news": { ???????????"articles"?: [ ???????????????{ ???????????????????"title"?: title, ???????????????????"description"?: description, ???????????????????"url"?: url, ???????????????????"picurl"?: picurl ???????????????} ????????????] ????????} ????} ????r = requests.post(url, headers=headers, json=data)?# 利用requests庫發(fā)送post請求 send_weixin("中秋節(jié)禮品領(lǐng)取",?"今年中秋節(jié)公司有豪禮相送",?"www.qq.com",?"http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png")
怎么樣,上述四種通知類型中有你需要的嗎?有的話就趕快拿去使用吧!
以上就是Python實現(xiàn)企業(yè)微信通知機器人的方法詳解的詳細內(nèi)容,更多關(guān)于Python企業(yè)微信通知機器人的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實現(xiàn)將一個正整數(shù)分解質(zhì)因數(shù)的方法分析
這篇文章主要介紹了Python實現(xiàn)將一個正整數(shù)分解質(zhì)因數(shù)的方法,結(jié)合實例形式對比分析了Python計算正整數(shù)分解質(zhì)因數(shù)的算法逐步改進操作技巧,需要的朋友可以參考下2017-12-12Django app配置多個數(shù)據(jù)庫代碼實例
這篇文章主要介紹了Django app配置多個數(shù)據(jù)庫代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12matplotlib相關(guān)系統(tǒng)目錄獲取方式小結(jié)
這篇文章主要介紹了matplotlib相關(guān)系統(tǒng)目錄獲取方式小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02編寫Python腳本把sqlAlchemy對象轉(zhuǎn)換成dict的教程
這篇文章主要介紹了編寫Python腳本把sqlAlchemy對象轉(zhuǎn)換成dict的教程,主要是基于Python的model類構(gòu)建一個轉(zhuǎn)換的方法,需要的朋友可以參考下2015-05-05Python selenium的安裝和下載谷歌瀏覽器鏡像驅(qū)動
Selenium是一個用于web自動化測試的框架,在使用Ajax請求數(shù)據(jù)的頁面中,會出現(xiàn) sign ,token等密鑰,借助使用Selenium框架來實現(xiàn)數(shù)據(jù)爬取很不錯,本文給大家介紹Python selenium的安裝和下載谷歌瀏覽器鏡像驅(qū)動,需要的朋友可以參考下2022-11-11