美文网首页
python钉钉工作提示

python钉钉工作提示

作者: Aedda | 来源:发表于2021-06-21 20:32 被阅读0次

import requests, json
from it.models import SysConf
import datetime


class DingDing:
    def get_access_token(self):
        _t = SysConf.objects.get(type='ali', key='ACCESS_TOKEN')
        if _t.update_time + datetime.timedelta(hours=_t.valid_time.hour) > datetime.datetime.now():
            return _t.value
        params = {
            'appkey': SysConf.objects.get(type='ali', key='APP_KEY').value,
            'appsecret': SysConf.objects.get(type='ali', key='APP_SECRET').value,
        }
        res = requests.get('https://oapi.dingtalk.com/gettoken', params)
        access_token = json.loads(res.text).get('access_token')
        _t.value = access_token
        _t.save()
        return access_token

    def send_inform(self, userid_list, title, text):
        '''
        :param title: 会话透出的展示内容
        :param text: markdown格式的消息,建议500字内
        :return: True or False
        '''
        url = f'https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2'
        params = {'access_token': self.get_access_token()}
        data = {
            'agent_id': SysConf.objects.get(type='ali', key='AGENT_ID').value,
            'msg': {"markdown": {"text": text, "title": title}, "msgtype": "markdown"},
            'userid_list': userid_list,
        }
        res = requests.post(url, data=json.dumps(data), params=params).json()
        if res.get('errcode') == 0:return True
        else:return False

SysConf.py

from django.db import models


# Create your models here.
class SysConf(models.Model):
    type = models.CharField('类型', max_length=32)
    key = models.CharField('键', max_length=32)
    value = models.CharField('值', max_length=255)
    update_time = models.DateTimeField('最近更新时间', auto_now_add=True, null=True, blank=True)
    valid_time = models.TimeField('有效时间', null=True, blank=True)

    class Meta:
        managed = False
        db_table = 'qweqweqwe'
        verbose_name = '配置表'
        verbose_name_plural = verbose_name

image.png

相关文章

  • python钉钉工作提示

    SysConf.py

  • 钉钉机器人

    python钉钉机器人 #ht...

  • python实现钉钉群消息推送

    Python实现钉钉群消息推送 对于某些自动化任务执行结果反馈,使用钉钉机器人消息替换繁琐的邮件发送方式使用钉钉机...

  • 钉钉授权失败

    代码环境:钉钉中嵌套的html页面,页面中调用钉钉的上传图片功能,不能使用提示下面错误 解决方案:原理:改变URL...

  • 钉钉自定义机器人+加签

    钉钉机器人增加了 加签的功能 python版本

  • 钉钉定位打卡助手+虚拟定位

    你的打卡神器 钉钉助手是一款钉钉虚拟打卡app,用户可以通过钉钉助手app来进行钉钉工作打卡,随时随地都可以进行打...

  • 钉钉8:00以后提交

    早上收到总监的钉钉提示,我还在想我报了呀,或者是总监群发的提醒吧。也就没继续想这事。 刚才没事,寻思研究研究钉钉的...

  • 钉钉,钉钉

    由于疫情的发展,学生们的开学时间推迟,为了保证学生“停课不停学”,我开始跟着学用“钉钉这个软件”。 从接触钉钉后,...

  • 钉钉H5微应用JSAPI鉴权踩坑点

    开发H5钉钉微应用,JSAPI鉴权提示签名校验失败,有两个点需要注意: 1. 钉钉开发文档中返回的signatur...

  • 如何开发一个钉钉自定义机器人

    简易需求,在钉钉群聊中创建一个机器人定时发送消息 开发环境: python3 钉钉客户端 Linux 1.创建一个...

网友评论

      本文标题:python钉钉工作提示

      本文链接:https://www.haomeiwen.com/subject/nukuyltx.html