钉钉机器人自动回复消息_用Python自动发送钉钉数据消息
生活随笔
收集整理的這篇文章主要介紹了
钉钉机器人自动回复消息_用Python自动发送钉钉数据消息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
import?json
import?urllib.request
import?pymysql?as?pms
def?get_Copywriting():
????#?判斷當天是周幾選擇出文案的函數
????#獲取當天日期
????today?=?datetime.date.today()
????#獲取當天是周幾
????todayweek?=?datetime.date.isoweekday(today)
????#利用IF語句判斷周幾選出當天要發送的文案
????if?todayweek?==?1:
????????Copywriting?=?"###?每日數據??\n?>?所有的成績都始于默默搬磚!昨天的成交達到**%s**美金啦~感謝所有默默搬磚的你們,今天還是要以正能量的姿態迎接更大的挑戰,加油,小伙伴們\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?2:
????????Copywriting?=?"###?每日數據??\n?>?如果有些事無法回避,那我們能做的,就是把自己變得更強大,強大到能夠應對這一次挑戰。送走昨日**%s**美金成交的歷史,今日又是富有挑戰的一天~\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?3:
????????Copywriting?=?"###?每日數據??\n?>?努力是人生的一種精神狀態,往往最美的不是成功的那一刻,而是那段努力奮斗的過程。伙伴們,昨日又是一個漂亮的翻身仗,成交**%s**美金啦,愿你努力后的今天更精彩。早安!\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?4:
????????Copywriting?=?"###?每日數據??\n?>?昨日的辛勤勞作又有了新突破,昨日成交已經**%s**美金啦~不拋棄不放棄,沒有辦法的時候,死磕也是種辦法。\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?5:
????????Copywriting?=?"###?每日數據??\n?>?明天就是周末了,噓~~~不要笑出聲。昨天平臺成交**%s**美金恩,現在可以笑出來了。又是新的一天,加油。\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?6:
????????Copywriting?=?"###?每日數據??\n?>?辛勤的付出才能得到我們想要的回報,一味的幻想,只會讓你離夢想越來越遠。看,我們的夢想又近了一步,昨日已經**%s**美金啦,成功已越來越近啦~\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?7:
????????Copywriting?=?"###?每日數據??\n?>?把彎路走直的人是聰明的,因為找到了捷徑;把直路走彎的人是豁達的,因為可以多看幾道風景;路不在腳下,路在心里。告訴大家一個好消息,昨日成交**%s**美金啦,各位早安,愿好。\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????return?Copywriting
def?send_request(url,?datas):
????#傳入url和內容發送請求
????#?構建一下請求頭部
????header?=?{
????????"Content-Type":?"application/json",
????????"Charset":?"UTF-8"
????}
????sendData?=?json.dumps(datas)??#?將字典類型數據轉化為json格式
????sendDatas?=?sendData.encode("utf-8")??#?python3的Request要求data為byte類型
????#?發送請求
????request?=?urllib.request.Request(url=url,?data=sendDatas,?headers=header)
????#?將請求發回的數據構建成為文件格式
????opener?=?urllib.request.urlopen(request)
????#?7、打印返回的結果
????print(opener.read())
def?get_datas(sql):
????#?一個傳入sql導出數據的函數
????#?跟數據庫建立連接
????conn?=?pms.connect(host='實例地址',?user='用戶名',
???????????????????????passwd='密碼',?database='庫名',?port=3306,?charset="utf8")
????#?使用?cursor()?方法創建一個游標對象?cursor
????cur?=?conn.cursor()
????#?使用?execute()?方法執行?SQL
????cur.execute(sql)
????#?獲取所需要的數據
????datas?=?cur.fetchall()
????#?關閉連接
????cur.close()
????#?返回所需的數據
????return?datas
def?main():
????#按照釘釘給的數據格式設計請求內容??鏈接https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.p7hJKp&treeId=257&articleId=105735&docType=1
????my_data?=?{
????????"msgtype":?"markdown",
????????"markdown":?{"title":?"每日早報",
?????????????????????"text":?"?"
?????????????????????},
????????"at":?{
????????????"isAtAll":?True
????????}
????}
????#獲取當天文案
????my_Copywriting?=?get_Copywriting()
????#獲取昨日成交
????my_mydata?=?get_datas(
????????"SELECT?sum(usdAmount)?FROM?dplus_source_productorder_v2?WHERE?RealPaidTime?>=?'2018-08-20?00:00:00'?AND?RealPaidTime?<=?'2018-08-20?23:59:59'")
????#獲取昨日成交的數值my_mydata?=?my_mydata[0][0]
????#?保留2位小數my_mydata?=?"%.2f"?%?my_mydata
????#把文案中的金額替換為昨天成交金額my_Copywriting?=?my_Copywriting?%?my_mydata
????#把文案內容寫入請求格式中my_data["markdown"]["text"]?=?my_Copywriting
????#你的釘釘機器人urlmy_url?=?"復制釘釘你的機器人url地址"send_request(my_url,?my_data)if?__name__?==?"__main__":main();
作者:王向君,一個不會運營的數據分析師不是好產品經理
博客:zhihu.com/people/chen-guan-xi-11-65
現在大部分公司都使用釘釘作為內部的主要溝通工具,釘釘消息基本都上都能快速有效的被閱讀,打開率會比郵件高上不少。所以準備使用釘釘來播報平臺每日的成交額,并附上一些鼓勵的話和圖片,起到激勵團隊的作用。
首先在要發送的群的群設置中添加一個自定義機器人,并復制機器人的webhook也就是代碼中要用到的URL,如下圖所示:
然后利用Python設置一個每周一到周日循環播放昨日成交額的markdown類型類型,最終效果截圖如下圖所示:
接下來附上實際代碼,所有代碼都有注釋:
import?datetimeimport?json
import?urllib.request
import?pymysql?as?pms
def?get_Copywriting():
????#?判斷當天是周幾選擇出文案的函數
????#獲取當天日期
????today?=?datetime.date.today()
????#獲取當天是周幾
????todayweek?=?datetime.date.isoweekday(today)
????#利用IF語句判斷周幾選出當天要發送的文案
????if?todayweek?==?1:
????????Copywriting?=?"###?每日數據??\n?>?所有的成績都始于默默搬磚!昨天的成交達到**%s**美金啦~感謝所有默默搬磚的你們,今天還是要以正能量的姿態迎接更大的挑戰,加油,小伙伴們\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?2:
????????Copywriting?=?"###?每日數據??\n?>?如果有些事無法回避,那我們能做的,就是把自己變得更強大,強大到能夠應對這一次挑戰。送走昨日**%s**美金成交的歷史,今日又是富有挑戰的一天~\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?3:
????????Copywriting?=?"###?每日數據??\n?>?努力是人生的一種精神狀態,往往最美的不是成功的那一刻,而是那段努力奮斗的過程。伙伴們,昨日又是一個漂亮的翻身仗,成交**%s**美金啦,愿你努力后的今天更精彩。早安!\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?4:
????????Copywriting?=?"###?每日數據??\n?>?昨日的辛勤勞作又有了新突破,昨日成交已經**%s**美金啦~不拋棄不放棄,沒有辦法的時候,死磕也是種辦法。\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?5:
????????Copywriting?=?"###?每日數據??\n?>?明天就是周末了,噓~~~不要笑出聲。昨天平臺成交**%s**美金恩,現在可以笑出來了。又是新的一天,加油。\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?6:
????????Copywriting?=?"###?每日數據??\n?>?辛勤的付出才能得到我們想要的回報,一味的幻想,只會讓你離夢想越來越遠。看,我們的夢想又近了一步,昨日已經**%s**美金啦,成功已越來越近啦~\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????elif?todayweek?==?7:
????????Copywriting?=?"###?每日數據??\n?>?把彎路走直的人是聰明的,因為找到了捷徑;把直路走彎的人是豁達的,因為可以多看幾道風景;路不在腳下,路在心里。告訴大家一個好消息,昨日成交**%s**美金啦,各位早安,愿好。\n\n?>?\n??>?#####?10點00分發布?[BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28)?"
????return?Copywriting
def?send_request(url,?datas):
????#傳入url和內容發送請求
????#?構建一下請求頭部
????header?=?{
????????"Content-Type":?"application/json",
????????"Charset":?"UTF-8"
????}
????sendData?=?json.dumps(datas)??#?將字典類型數據轉化為json格式
????sendDatas?=?sendData.encode("utf-8")??#?python3的Request要求data為byte類型
????#?發送請求
????request?=?urllib.request.Request(url=url,?data=sendDatas,?headers=header)
????#?將請求發回的數據構建成為文件格式
????opener?=?urllib.request.urlopen(request)
????#?7、打印返回的結果
????print(opener.read())
def?get_datas(sql):
????#?一個傳入sql導出數據的函數
????#?跟數據庫建立連接
????conn?=?pms.connect(host='實例地址',?user='用戶名',
???????????????????????passwd='密碼',?database='庫名',?port=3306,?charset="utf8")
????#?使用?cursor()?方法創建一個游標對象?cursor
????cur?=?conn.cursor()
????#?使用?execute()?方法執行?SQL
????cur.execute(sql)
????#?獲取所需要的數據
????datas?=?cur.fetchall()
????#?關閉連接
????cur.close()
????#?返回所需的數據
????return?datas
def?main():
????#按照釘釘給的數據格式設計請求內容??鏈接https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.p7hJKp&treeId=257&articleId=105735&docType=1
????my_data?=?{
????????"msgtype":?"markdown",
????????"markdown":?{"title":?"每日早報",
?????????????????????"text":?"?"
?????????????????????},
????????"at":?{
????????????"isAtAll":?True
????????}
????}
????#獲取當天文案
????my_Copywriting?=?get_Copywriting()
????#獲取昨日成交
????my_mydata?=?get_datas(
????????"SELECT?sum(usdAmount)?FROM?dplus_source_productorder_v2?WHERE?RealPaidTime?>=?'2018-08-20?00:00:00'?AND?RealPaidTime?<=?'2018-08-20?23:59:59'")
????#獲取昨日成交的數值my_mydata?=?my_mydata[0][0]
????#?保留2位小數my_mydata?=?"%.2f"?%?my_mydata
????#把文案中的金額替換為昨天成交金額my_Copywriting?=?my_Copywriting?%?my_mydata
????#把文案內容寫入請求格式中my_data["markdown"]["text"]?=?my_Copywriting
????#你的釘釘機器人urlmy_url?=?"復制釘釘你的機器人url地址"send_request(my_url,?my_data)if?__name__?==?"__main__":main();
釘釘自定義機器人還可以發送文本和鏈接消息,也就是請求的內容不一樣,原理都是一致的,具體數據格式釘釘開發平臺有解釋,代碼中也附有釘釘說明鏈接地址。
最后本人是win10系統,利用系統自帶的任務計劃程序建立一個每日10點自動執行Python腳本的任務,就可以每日自動發送釘釘消息了,當然大家有條件的放到服務器執行更加好。畢竟電腦不開機就沒法自動執行任務了。
熱 門 推 薦用Python創建微信機器人用Python機器人監聽微信群聊用Python獲取攝像頭并實時控制人臉開源項目 | 用Python美化LeetCode倉庫推薦Python中文社區旗下的幾個服務類公眾號征稿啟事 | Python中文社區有獎征文▼ 點擊成為社區注冊會員? ? ? ? ??「在看」一下,一起PY!
總結
以上是生活随笔為你收集整理的钉钉机器人自动回复消息_用Python自动发送钉钉数据消息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux怎样安装(Linux入门)
- 下一篇: 企业信用报告如何获取