91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python第三方包之DingDingBot釘釘機器人

發布時間:2021-03-11 09:40:32 來源:億速云 閱讀:478 作者:小新 欄目:開發技術

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

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

安裝

pip install DingDingBot

使用方法

from DingDingBot.DDBOT import DingDing
# 初始話DingDingBOt webhook是釘釘機器人所必須的
dd = DingDing(webhook='https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx')
# 發送文本消息
print(dd.Send_Text_Msg(Content='test:測試數據'))
# 發送鏈接消息
print(dd.Send_Link_Msg(Content='test',Title='測試數據',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'))
# 發送Markdown格式的消息
print(dd.Send_MardDown_Msg(Content="# 測試數據\n" + "> testone", Title='測試數據'))

源碼

#!/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: 要發送的內容
    :param atMobiles: @指定的人,這里必須是列表,且參數為手機號
    :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: 鏈接的內容
    :param title: 鏈接的標題
    :param MsgUrl: 待跳轉頁面的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格式的文本,僅支持下面的格式
    '''
    標題
      # 一級標題
      ## 二級標題
      ### 三級標題
      #### 四級標題
      ##### 五級標題
      ###### 六級標題

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

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

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

      圖片
      ![](https://cache.yisu.com/upload/information/20200622/113/6278.jpg)

      無序列表
      - item1
      - item2

      有序列表
      1. item1
      2. item2
    '''
    :param Title: 這個Markdown的標題
    :param atMobiles: @指定的人,這里必須是列表,且參數為手機號
    :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釘釘機器人”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清镇市| 竹溪县| 贡山| 柳林县| 巴青县| 高碑店市| 西青区| 拉孜县| 临西县| 长泰县| 金沙县| 临江市| 丹棱县| 武强县| 冕宁县| 宜城市| 客服| 武宣县| 深水埗区| 拉萨市| 本溪| 临海市| 瑞丽市| 乌拉特后旗| 三门峡市| 花莲市| 平阳县| 桂林市| 镇巴县| 乾安县| 定兴县| 山西省| 房产| 赞皇县| 汉沽区| 绥阳县| 股票| 佛教| 宝丰县| 石家庄市| 罗甸县|