当前位置:   article > 正文

运用python实现企业微信群机器人消息推送_企业微信机器人消息推送代码

企业微信机器人消息推送代码

使用场景:将BI报表精准推送入(群),精准触达用户
目的:提高管理层对数据的感知度
工具:python+企业微信
步骤:
1、创建企业微信群机器人,提取Webhook地址(群机器人地址)
2、编写代码填充推送内容信息实现推送
3、其他需求自定义代码编写

1. 将BI报表推送到群

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

2. 群消息推送

实现方法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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

实现方法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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100

参考链接
python+群机器人自动化推送
python+群机器人自动化推送
python+群机器人自动化推送
企业微信官方文档分享

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/178456
推荐阅读
相关标签
  

闽ICP备14008679号