作者:王向君,一个不会运营的数据分析师不是好产品经理

博客:zhihu.com/people/chen-guan-xi-11-65

现在大部分公司都使用钉钉作为内部的主要沟通工具,钉钉消息基本都上都能快速有效的被阅读,打开率会比邮件高上不少。所以准备使用钉钉来播报平台每日的成交额,并附上一些鼓励的话和图片,起到激励团队的作用。

首先在要发送的群的群设置中添加一个自定义机器人,并复制机器人的webhook也就是代码中要用到的URL,如下图所示:

然后利用Python设置一个每周一到周日循环播放昨日成交额的markdown类型类型,最终效果截图如下图所示:

接下来附上实际代码,所有代码都有注释:

import datetimeimport jsonimport urllib.requestimport pymysql as pms

def get_Copywriting():    # 判断当天是周几选择出文案的函数    #获取当天日期    today = datetime.date.today()    #获取当天是周几    todayweek = datetime.date.isoweekday(today)    #利用IF语句判断周几选出当天要发送的文案    if todayweek == 1:        Copywriting = "### 每日数据  \n > 所有的成绩都始于默默搬砖!昨天的成交达到**%s**美金啦~感谢所有默默搬砖的你们,今天还是要以正能量的姿态迎接更大的挑战,加油,小伙伴们\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535016385314.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "    elif todayweek == 2:        Copywriting = "### 每日数据  \n > 如果有些事无法回避,那我们能做的,就是把自己变得更强大,强大到能够应对这一次挑战。送走昨日**%s**美金成交的历史,今日又是富有挑战的一天~\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535016385314.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "    elif todayweek == 3:        Copywriting = "### 每日数据  \n > 努力是人生的一种精神状态,往往最美的不是成功的那一刻,而是那段努力奋斗的过程。伙伴们,昨日又是一个漂亮的翻身仗,成交**%s**美金啦,愿你努力后的今天更精彩。早安!\n\n > ![screenshot](https://unsplash.com/photos/rYWKAgO7jQg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "    elif todayweek == 4:        Copywriting = "### 每日数据  \n > 昨日的辛勤劳作又有了新突破,昨日成交已经**%s**美金啦~不抛弃不放弃,没有办法的时候,死磕也是种办法。\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535019037528.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "    elif todayweek == 5:        Copywriting = "### 每日数据  \n > 明天就是周末了,嘘~~~不要笑出声。昨天平台成交**%s**美金恩,现在可以笑出来了。又是新的一天,加油。\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535016385314.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "    elif todayweek == 6:        Copywriting = "### 每日数据  \n > 辛勤的付出才能得到我们想要的回报,一味的幻想,只会让你离梦想越来越远。看,我们的梦想又近了一步,昨日已经**%s**美金啦,成功已越来越近啦~\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535016385314.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "    elif todayweek == 7:        Copywriting = "### 每日数据  \n > 把弯路走直的人是聪明的,因为找到了捷径;把直路走弯的人是豁达的,因为可以多看几道风景;路不在脚下,路在心里。告诉大家一个好消息,昨日成交**%s**美金啦,各位早安,愿好。\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535016385314.jpeg)\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自动发送钉钉数据消息相关推荐

  1. python 钉钉机器人发送图片_利用Python自动发送钉钉数据消息

    现在大部分公司都使用钉钉作为内部的主要沟通工具,钉钉消息基本都上都能快速有效的被阅读,打开率会比邮件高上不少.所以准备使用钉钉来播报平台每日的成交额,并附上一些鼓励的话和图片.起到一个激励团队的作用 ...

  2. 钉钉python 自动发消息_用Python自动发送钉钉数据消息

    ♚ 作者:王向君,一个不会运营的数据分析师不是好产品经理 博客:zhihu.com/people/chen-guan-xi-11-65 现在大部分公司都使用钉钉作为内部的主要沟通工具,钉钉消息基本都上 ...

  3. python钉钉扫码登录程序_使用python+django集成钉钉三方扫码登陆

    使用python+django集成钉钉三方扫码登陆 \(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\) 1. 进入钉钉开放平台--->点击左下角 ...

  4. 如何用JS写一套钉钉的机器人自动回复,要求调用chatgpt

    请注意,本文由chatgpt 3.5完成,请自行验证该回答的严谨性. 为了用JS编写一套钉钉机器人自动回复,调用ChatGPT,可以按照以下步骤: 创建一个钉钉机器人:在钉钉开放平台上创建一个机器人, ...

  5. ABB机器人编程基础_手动示教+记录+修改点位数据的具体方法和步骤示例

    ABB机器人编程基础_手动示教+记录+修改点位数据的具体方法和步骤示例 如下图所示,打开示教器,控制柜切换到手动模式,电机上电,找到程序编辑器,点击进入, 如下图所示,点击进入例行程序,点击左下角的文 ...

  6. 钉钉python 自动发消息软件_利用Python自动发送钉钉数据消息,一个简单的上手小项目...

    现在大部分公司都使用钉钉作为内部的主要沟通工具,钉钉消息基本都上都能快速有效的被阅读,打开率会比邮件高上不少.所以准备使用钉钉来播报平台每日的成交额,并附上一些鼓励的话和图片.起到一个激励团队的作用 ...

  7. python自动接收钉钉信息_用Python实现阿里钉钉机器人读取数据库内容自动发群通知...

    from datetime importdatetimeimportjsonimporturllib.requestimportpymysql as pmsfrom apscheduler.sched ...

  8. python自动回复qq消息_基于python使用qqbot接入qq做一个简单的文字消息自动回复

    qqbot是一个免费开源的基于smartqq的python插件,如果默认安装有pip,则可以直接在命令行下执行:pip install qqbot安装qqbot,安装成功后可以在命令行输入qqbot ...

  9. python网页登录钉钉_【Python】关于钉钉接口使用Python,Post 500报错

    我用Python来处理钉钉的接口 现在遇到一个问题,get请求都是能用的,post数据就会报500错误 我使用的接口是(获取用户待审批数量) https://open-doc.dingtalk.com ...

最新文章

  1. 我的Android进阶之旅------android Matrix图片随意的放大缩小,拖动(转)
  2. mysql程序设计排球比赛_Jsp+Ssh+Mysql实现的排球馆预约管理系统项目源码附带视频指导运行教程...
  3. 树回归源码分析(1)
  4. python字符串讲解
  5. 数据3分钟丨《个人信息保护法》将施行;2021全球分布式云大会将在沪召开;GaussDB取得“双第一”...
  6. sqlilabs 5
  7. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(2)签到题5题
  8. pycharm--Microsoft Visual C++ 14.0 is required. 。。
  9. PSCAD X4.6.2 免费下载
  10. Matlab 学习入门 图像处理
  11. Python3 色情图片识别
  12. 苍井空是如何勾搭上社交电商的? - 案例 - i黑马网
  13. 仿站和模板建站的区别_快速仿站工具,全能扒站助手
  14. 工作中使用到的单词(软件开发)_20210402备份
  15. h330 mini raid卡驱动 linux,戴尔h330阵列卡驱动下载
  16. 半导体设备英文缩写_涨知识!晶圆制造主要设备一览。
  17. gmail无法登陆的解决!!
  18. 基于VGG19的识别中国人、韩国人、日本人分类器
  19. IDEA 安装快捷键提示工具:Key promoter X
  20. 支付系统--清结算概括介绍

热门文章

  1. 向seaborn传递matplotlib绘图参数,精细地控制seaborn输出图形
  2. SAP UI5 货币金额显示的格式化逻辑
  3. 如何编写第一个 ngrx Effect 类
  4. SAP Spartacus internationalization ( i18n ) 翻译问题的排错指南
  5. 以 B2C 和 B2B 方式启动 SAP Spartacus 的批处理文件
  6. 一步步把 SAP UI5 应用部署到 SAP BTP Kyma 运行环境中去
  7. Graph QL和SAP Graph的区别
  8. 一个包含嵌套递归数据结构的对象的排序实现
  9. SAP Spartacus B2B Unit page convertListItem方法的工作原理
  10. SAP Cloud for Customer的inscreen_dataflow处理方式