使用场景:将BI报表精准推送入(群),精准触达用户
目的:提高管理层对数据的感知度
工具:python+企业微信
步骤:
1、创建企业微信群机器人,提取Webhook地址(群机器人地址)
2、编写代码填充推送内容信息实现推送
3、其他需求自定义代码编写
import requests
from datetime import datetime
def fun():
URL = '机器人地址'
mHeader = {'Content-Type': 'application/json; charset=UTF-8'}
mBody = {
"msgtype": "news",
"news": {
"articles" : [
{
"title" : "#标题",
"description" : "#说明",
"url" : "#推送链接",
"picurl" : "图片链接"
}
]
}
}
# 注意:json=mBody 必须用json
requests.post(url=URL, json=mBody, headers=mHeader)
if __name__ == '__main__':
fun()
a="推送消息文案,比如【这是今日的运营报表最新数据,请查收】"
url = '机器人的webhook地址' #机器人的webhook地址
headers = {'Content-type':'application/json'}
data = {
"msgtype": "text",
"text": {
"content": a, #要发送的文字
"mentioned_list": ["@all"], #要@的人,可以是特定的人的工号或手机号
}
}
r = requests.post(url,headers=headers,json=data)
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"),"文本发送情况提示",r.text)
实现方法1–优化后
from __future__ import print_function
import time
import schedule
import requests
from datetime import datetime
now = datetime.now() # current date and time
**#微信机器人地址**
url = '企业微信机器人地址'
**# 当前时间**
load_time = now.strftime('%Y-%m-%d %H:%M:%S')
**#不同时间段的文案内容**
#zaoqi1 = '起床上班了哈哈哈'
morning1 = '大家早上号,又是努力的一天,大家加油鸭!'
#wucan1 = '伙伴们,午餐时间到,一定要记得准时吃饭哦!'
afternoon1 = '人生道路上的每一个里程碑,都刻着“起点”两个字。大家下午好'
evening1 = '全公司最努力的小伙伴们,下班了,记得好好放松一下哦'
daily1 = '伙伴们,要发日报了哦!未发的,明日下午茶你安排!'
goodnight1 = '夜深人静,睡意绵绵~晚安!'
#自定义的函数名称、函数参数
def greetings(greet):
data = {
'msgtype': 'text',#推送消息类型
'text': {'content': f'{greet} ',#调用函数参数
"mentioned_list": ["@all"],#@的人员,也可以是单独的工号、手机号
}
}
requests.post(url, json=data)
# 调用函数和文案每天的指定时间执行
schedule.every().day.at('08:30').do(greetings, morning1 )
#schedule.every().day.at('10:15').do(greetings, morning1 )
schedule.every().day.at('14:00').do(greetings, afternoon1)
schedule.every().day.at('18:00').do(greetings, evening1)
schedule.every().day.at('20:00').do(greetings, daily1)
schedule.every().day.at('22:00').do(greetings, goodnight1)
while True:
# 运行所有可以运行的任务进行推送
schedule.run_pending()
print(load_time)
time.sleep(1)
实现方法2-优化前
from __future__ import print_function
import time
import schedule
import requests
from datetime import datetime
now = datetime.now() # current date and time
url = '机器人地址'
# 当前时间为
load_time = now.strftime('%Y-%m-%d %H:%M:%S')
#文案内容
#zaoqi1 = '起床上班了哈哈哈'
morning1 = '优秀的小伙伴们,大家早上好,充满活力的一天开始啦,大家加油鸭!'
#wucan1 = '伙伴们,午餐时间到,一定要记得准时吃饭哦!大家今天吃啥呢?'
afternoon1 = '人生道路上的每一个里程碑,都刻着“起点”两个字。全公司最棒的小伙伴们,下午好!'
evening1 = '全公司最努力的小伙伴们,该用膳了!今日晚膳我请客,自己掏钱,嘿嘿嘿!'
daily1 = '伙伴们,要发日报了喂!未发的,明日下午茶你安排!'
goodnight1 = '夜深人静,睡意绵绵~明天又是活力满满的一天!!晚安!'
def morning():
data = {
'msgtype': 'text',
'text': {'content': f'{morning1} \n记得打上班卡哈',
"mentioned_list": ["@all"],
}
}
requests.post(url, json=data)
def afternoon():
data = {
'msgtype': 'text',
'text': {'content': f'{afternoon1} ',
"mentioned_list": ["@all"],
}
}
requests.post(url, json=data)
def evening():
data = {
'msgtype': 'text',
'text': {'content': f'{evening1} \n记得打下班卡哈',
"mentioned_list": ["@all"]
}
}
requests.post(url, json=data)
def daily():
data = {
'msgtype': 'text',
'text': {'content': f'{daily1}',
"mentioned_list": ["@all"]
}
}
requests.post(url, json=data)
def goodnight():
data = {
'msgtype': 'text', 'text': {'content': f'{goodnight1}'},
"mentioned_list": ["@all"]
}
requests.post(url, json=data)
# 每天的指定时间执行
schedule.every().day.at('08:30').do(morning)
schedule.every().day.at('14:00').do(afternoon)
schedule.every().day.at('18:00').do(evening)
schedule.every().day.at('20:00').do(daily)
schedule.every().day.at('22:00').do(goodnight)
'''
# 10分钟执行一次
schedule.every(10).minutes.do(morning)
schedule.every(15).minutes.do(afternoon)
schedule.every(20).minutes.do(evening)
schedule.every(25).minutes.do(daily)
schedule.every(30).minutes.do(goodnight)
'''
'''
# 每隔5天到10天执行一次
schedule.every(5).to(10).days.at('00:00').do(morning)
schedule.every(5).to(10).days.at('00:00').do(evening)
# 每周一的这个时候执行一次任务
schedule.every().monday.do(morning)
# 每周三00:03执行一次任务
schedule.every().wednesday.at('00:03').do(morning)
'''
while True:
# 运行所有可以运行的任务
schedule.run_pending()
print(load_time)
time.sleep(1)
参考链接
python+群机器人自动化推送
python+群机器人自动化推送
python+群机器人自动化推送
企业微信官方文档分享