python 钉钉发邮件报警设置

1.异常信息内容编辑

复制# 异常信息发送至钉钉报警
if res.get("msg")=="查询失败":
    print("查询失败")
    XiaoTian.send_msg_to_dingding(f'hobby策略{platforms_Chinese[plat]}异常', name='hobby_check')

2.机器人需要设置关键字与接送方法

复制"""
@Time: 2022/12/10 10:54
@Desc: 
"""
import json
import requests
from retry import retry


class DingDingMSG(object):
    """
    机器人需要设置关键字:任务提醒
    """
    _ACCESS_TOKEN = ''

    @classmethod
    @retry(tries=5, delay=2)
    def send_msg_to_dingding(cls, content, name=None, logger=None, at_all=False):
        assert cls._ACCESS_TOKEN, 'access_token 不能为空'

        url = f'https://oapi.dingtalk.com/robot/send?access_token={cls._ACCESS_TOKEN}'
        headers = {
            "Content-Type": "application/json",
            "Charset": "UTF-8"
        }
        message = {
            "at": {
                "isAtAll": "true" if at_all else "false",
            },
            "msgtype": "text",
            # content 需要发送报警的内容
            "text": {
                "content": f"{name or ''} 任务提醒:\n{content or ''}"
            }
        }
        message_json = json.dumps(message)
        info = requests.post(url=url, data=message_json, headers=headers).json()
        if info['errcode'] == 0:
            return True
        else:
            if logger:
                logger.warning(f'发送给钉钉失败 {info}')
            else:
                print(info)

class XiaoTian(DingDingMSG):
    _ACCESS_TOKEN = '1d7f090a060550e283be0955772c1c6932073125fb6ee694288525be6fcf84b1'

if __name__ == '__main__':
    XiaoTian.send_msg_to_dingding('test123678', name='hobby_check', at_all=True)


如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载!
posted @   莫贞俊晗  阅读(145)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示