現在大部分公司都使用釘釘作為內部的主要溝通工具,釘釘消息基本都上都能快速有效的被閱讀,打開率會比郵件高上不少。所以準備使用釘釘來播報平臺每日的成交額,并附上一些鼓勵的話和圖片。起到一個激勵團隊的作用
首先在要發送的群的群設置中添加一個自定義機器人,并復制機器人的webhook也就是代碼中要用到的URL,如下圖所示:
然后利用Python設置一個每周一到周日循環播放昨日成交額的markdown類型類型,最終效果截圖如下圖所示:
接下來附上實際代碼,所有代碼都有注釋:
import datetime
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 = "### 每日數據? > 所有的成績都始于默默搬磚!昨天的成交達到**%s**美金啦~感謝所有默默搬磚的你們,今天還是要以正能量的姿態迎接更大的挑戰,加油,小伙伴們 >  > ##### 10點00分發布 [BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "
elif todayweek == 2:
Copywriting = "### 每日數據? > 如果有些事無法回避,那我們能做的,就是把自己變得更強大,強大到能夠應對這一次挑戰。送走昨日**%s**美金成交的歷史,今日又是富有挑戰的一天~ >  > ##### 10點00分發布 [BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "
elif todayweek == 3:
Copywriting = "### 每日數據? > 努力是人生的一種精神狀態,往往最美的不是成功的那一刻,而是那段努力奮斗的過程。伙伴們,昨日又是一個漂亮的翻身仗,成交**%s**美金啦,愿你努力后的今天更精彩。早安! >  > ##### 10點00分發布 [BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "
elif todayweek == 4:
Copywriting = "### 每日數據? > 昨日的辛勤勞作又有了新突破,昨日成交已經**%s**美金啦~不拋棄不放棄,沒有辦法的時候,死磕也是種辦法。 >  > ##### 10點00分發布 [BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "
elif todayweek == 5:
Copywriting = "### 每日數據? > 明天就是周末了,噓~~~不要笑出聲。昨天平臺成交**%s**美金恩,現在可以笑出來了。又是新的一天,加油。 >  > ##### 10點00分發布 [BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "
elif todayweek == 6:
Copywriting = "### 每日數據? > 辛勤的付出才能得到我們想要的回報,一味的幻想,只會讓你離夢想越來越遠。看,我們的夢想又近了一步,昨日已經**%s**美金啦,成功已越來越近啦~ >  > ##### 10點00分發布 [BI部門](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "
elif todayweek == 7:
Copywriting = "### 每日數據? > 把彎路走直的人是聰明的,因為找到了捷徑;把直路走彎的人是豁達的,因為可以多看幾道風景;路不在腳下,路在心里。告訴大家一個好消息,昨日成交**%s**美金啦,各位早安,愿好。 >  > ##### 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
#你的釘釘機器人url
my_url = "復制釘釘你的機器人url地址"
send_request(my_url, my_data)
if __name__ == "__main__":
main();
釘釘自定義機器人還可以發送文本和鏈接消息,也就是請求的內容不一樣,原理都是一致的,具體數據格式釘釘開發平臺有解釋,代碼中也附有釘釘說明鏈接地址。
最后本人是我win10系統,利用系統自帶的任務計劃程序建立一個每日10點自動執行Python腳本的任務,就可以每日自動發送釘釘消息了、當然大家有條件的放到服務器執行更加好。畢竟電腦不開機就沒法自動執行任務了。
今天分享就到這里啦!各位看官如果喜歡,那就點個贊唄!!!