中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Python第三方包之DingDingBot釘釘機(jī)器人-創(chuàng)新互聯(lián)

小編給大家分享一下Python第三方包之DingDingBot釘釘機(jī)器人,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)灣里,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):13518219792

這個(gè)是作者自己封裝的一個(gè)釘釘機(jī)器人的包,目前只支持發(fā)文本格式、鏈接格式、markdown格式的消息,我們可以在很多場(chǎng)景用到這個(gè),比如告警通知等

安裝

pip install DingDingBot

使用方法

from DingDingBot.DDBOT import DingDing
# 初始話(huà)DingDingBOt webhook是釘釘機(jī)器人所必須的
dd = DingDing(webhook='https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx')
# 發(fā)送文本消息
print(dd.Send_Text_Msg(Content='test:測(cè)試數(shù)據(jù)'))
# 發(fā)送鏈接消息
print(dd.Send_Link_Msg(Content='test',Title='測(cè)試數(shù)據(jù)',MsgUrl='https://www.baidu.com',PicUrl='https://cn.bing.com/images/search?q=outgoing%e6%9c%ba%e5%99%a8%e4%ba%ba&id=FEE700371845D9386738AAAA51DCC43DC54911AA&FORM=IQFRBA'))
# 發(fā)送Markdown格式的消息
print(dd.Send_MardDown_Msg(Content="# 測(cè)試數(shù)據(jù)\n" + "> testone", Title='測(cè)試數(shù)據(jù)'))

源碼

#!/usr/bin/python
# -*- coding: UTF-8 -*-

'''
  @@@@@@@@   @@@@@@@@@   @@@@@@@@@  @@@@@@@@@   @@@@@@@@@@@@
  @@   @@  @@   @@  @@   @@  @@   @@     @@
  @@    @@ @@    @@  @@  @@  @@    @@    @@
  @@    @@ @@    @@  @@  @@   @@    @@    @@
  @@    @@ @@    @@  @@ @@   @@    @@    @@
  @@   @@  @@   @@  @@ @@    @@    @@    @@
  @@   @@  @@   @@   @@ @@   @@    @@    @@
  @@  @@   @@  @@   @@  @@   @@    @@    @@
  @@  @@   @@  @@    @@ @@    @@   @@     @@
  @@ @@    @@ @@     @@      @@@@@@@@@     @@

'''

import requests, json


class DingDing():
  """
  # 釘釘官方文檔
  Refer to official documentation: https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
  """
  # 初始化
  def __init__(self, webhook):
    self.webhook = webhook
    self.session = requests.session()
    self.session.headers = {"Content-Type": "application/json;charset=utf-8"}

  def Send_Text_Msg(self, Content: str, atMobiles: list = [], isAtAll: bool = False) -> dict:
    """
    :param content: 要發(fā)送的內(nèi)容
    :param atMobiles: @指定的人,這里必須是列表,且參數(shù)為手機(jī)號(hào)
    :param isAtAll: @全體成員
    :return:
    """
    try:
      data = {
        "msgtype": "text",
        "text": {
          "content": Content
        },
        "at": {
          "atMobiles": atMobiles,
          "isAtAll": isAtAll
        }
      }
      response = self.session.post(self.webhook, data=json.dumps(data))
      if response.status_code == '200':
        result = {"status": True, "message": "Message has been sent"}
        return result
      else:
        return response.text
    except Exception as error:
      result = {"status": False, "message": f"Failed to send message,Error stack:{error}"}
      return result

  def Send_Link_Msg(self, Content: str, Title: str, MsgUrl: str, PicUrl: str = ''):
    """
    :param Content: 鏈接的內(nèi)容
    :param title: 鏈接的標(biāo)題
    :param MsgUrl: 待跳轉(zhuǎn)頁(yè)面的url
    :param PicUrl: 消息所展示的圖片
    :return:
    """
    try:
      data = {
        "msgtype": "link",
        "link": {
          "text": Content,
          "title": Title,
          "picUrl": PicUrl,
          "messageUrl": MsgUrl
        }
      }
      response = self.session.post(self.webhook, data=json.dumps(data))
      if response.status_code == '200':
        result = {"status": True, "message": "Message has been sent"}
        return result
      else:
        return response.text
    except Exception as error:
      result = {"status": False, "message": f"Failed to send message,Error stack:{error}"}
      return result

  def Send_MardDown_Msg(self, Content: str, Title: str, atMobiles: list = [], isAtAll: bool = False):
    """
    :param Content: Markdown格式的文本,僅支持下面的格式
    '''
    標(biāo)題
      # 一級(jí)標(biāo)題
      ## 二級(jí)標(biāo)題
      ### 三級(jí)標(biāo)題
      #### 四級(jí)標(biāo)題
      ##### 五級(jí)標(biāo)題
      ###### 六級(jí)標(biāo)題

      引用
      > A man who stands for nothing will fall for anything.

      文字加粗、斜體
      **bold**
      *italic*

      鏈接
      [this is a link](http://name.com)

      圖片
      ![](/file/tupian/20230213/404.html)

      無(wú)序列表
      - item1
      - item2

      有序列表
      1. item1
      2. item2
    '''
    :param Title: 這個(gè)Markdown的標(biāo)題
    :param atMobiles: @指定的人,這里必須是列表,且參數(shù)為手機(jī)號(hào)
    :param isAtAll: @全體成員
    :return:
    """
    try:
      data = {
        "msgtype": "markdown",
        "markdown": {
          "title": Title,
          "text": Content
        },
        "at": {
          "atMobiles": atMobiles,
          "isAtAll": isAtAll
        }
      }
      response = self.session.post(self.webhook, data=json.dumps(data))
      if response.status_code == '200':
        result = {"status": True, "message": "Message has been sent"}
        return result
      else:
        return response.text
    except Exception as error:
      result = {"status": False, "message": f"Failed to send message,Error stack:{error}"}
      return result

以上是“Python第三方包之DingDingBot釘釘機(jī)器人”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文名稱(chēng):Python第三方包之DingDingBot釘釘機(jī)器人-創(chuàng)新互聯(lián)
鏈接分享:http://m.rwnh.cn/article32/pojsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、微信公眾號(hào)、用戶(hù)體驗(yàn)、企業(yè)網(wǎng)站制作、域名注冊(cè)、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
仁化县| 平阴县| 定边县| 叙永县| 星子县| 松江区| 得荣县| 海安县| 天长市| 灌南县| 甘孜| 临西县| 寿光市| 崇阳县| 咸阳市| 会宁县| 涟源市| 千阳县| 宜春市| 伊宁市| 雅安市| 定远县| 大化| 宣汉县| 普兰县| 黎川县| 盈江县| 大兴区| 朝阳市| 清水县| 白山市| 江陵县| 张掖市| 玛曲县| 商洛市| 张家口市| 芒康县| 铁力市| 天镇县| 嘉黎县| 顺平县|