每天自动发送并艾特值日人员信息到飞书群

整理好每个月的值日人员信息到excel表

先整理好当月内的所有值日人员信息,其中相应人员的飞书用户ID,可参照下方链接进行获取;

飞书获取user id、群id和消息id的方法 - 飞书官网

创建飞书机器人

在一个所有值班人员的飞书群里,创建一个机器人,并获取该机器人的Webhook地址;

编写Python脚本

import pandas as pd
import requests
import json
from datetime import datetime

# 飞书机器人的Webhook URL
webhook_url = 'https://open.feishu.cn/open-apis/bot/v2/hook/ec176f9c-1f4d-4783-bcb3-74d827fb5cd6'

# 读取值日表(假设是Excel文件)
duty_schedule_path = 'E:/文档/00_software document/05_Pycharm/06_TG电子实验室5S整理/duty_schedule.xlsx'  # 根据需要改为本地文件的地址,如果是CSV文件,改为 'duty_schedule.csv'
duty_schedule = pd.read_excel(duty_schedule_path, dtype={'飞书用户ID': str})
# 如果是CSV文件,使用 pd.read_csv(),获取duty_schedule.xlsx 中的Dataframe数据结构数据,dtype 是将飞书user_ID 一列由数值格式改为字符串格式;


# 获取今天的日期
today = datetime.now().strftime('%Y/%m/%d')


# 查找今天的值班员工
today_duty = duty_schedule[duty_schedule['日期'] == today]  # 查找duty_schedule 中日期为今天的这一帧数据;



if not today_duty.empty:
    # 获取值班员工的姓名和飞书用户ID
    employee_name = today_duty.iloc[0]['员工姓名']   # 获取这一帧数据汇总,员工姓名位置的数据
    employee_feishu_id = today_duty.iloc[0]['飞书用户ID']
    print(employee_name)

    # 构造消息内容(飞书支持文本、Markdown等多种格式)
    message = {
        "msg_type": "text",
        "content": {
            "text": f"值班提醒:今天是 {employee_name} <at user_id=\"{employee_feishu_id}\"></at>的值班日,请按时到岗。"
                    }
             }
    # 给指定用户发送消息
    headers = {'Content-Type': 'application/json'}
    response = requests.post(webhook_url, headers=headers, data=json.dumps(message))

    # 检查是否发送成功
    if response.status_code == 200:
        print(f"消息已发送给 {employee_name}(飞书用户ID:{employee_feishu_id})")
    else:
        print(f"消息发送失败,状态码:{response.status_code}")
else:
    print("今天没有值班员工。")

Windows设置自动运行脚本

通过Windows自带的 任务计划程序功能,创建任务,设置好触发器,即可设置定时自动运行;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值