欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python向企業(yè)微信發(fā)送文字和圖片消息的示例

 更新時間:2020年09月28日 16:26:32   作者:別再鬧了  
這篇文章主要介紹了python向企業(yè)微信發(fā)送文字和圖片消息的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

吐槽一下企業(yè)微信的api文檔真的不好讀······

企業(yè)微信本來是有功能,可以直接把圖片顯示到正文的,但是那個api我調(diào)用一直出錯,各種折騰也沒解決。后來感覺就算了,沒必要,用url拼接在文字中也行,這樣的好處就是以后可以換圖床,不局限在企業(yè)微信內(nèi)部(好像免費版一天之內(nèi)可以上傳200張圖片,所以如果需求比較大的話可以采用第三方圖床)

我把上傳部分封裝了一個使用新線程的方法,以防使用的時候因為上傳卡住主線程(親測如果不這樣的話確實會卡住)

import requests
import json
from threading import Thread
import cv2
import os


class Wechat_Info():
  def __init__(self):
    self.partyID = ''
    self.corpID = ''
    self.secret = ''
    self.agentID = ''
    self.token = None
    self.pic = None

  def __get_token(self, corpid, secret):
    Url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
    Data = {
      "corpid": corpid,
      "corpsecret": secret
    }
    r = requests.get(url=Url, params=Data)
    token = r.json()['access_token']
    return token

  def send_message(self, message):
    url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={}".format(
      self.__get_token(self.corpID, self.secret))
    data = {
      "toparty": self.partyID,
      "msgtype": "text",
      "agentid": self.agentID,
      "text": {
        "content": message
      },
      "safe": "0"
    }
    result = requests.post(url=url, data=json.dumps(data))
    return result.text

  def get_media_url(self, path): ##上傳到圖片素材 圖片url
    Gtoken = self.__get_token(self.corpID, self.secret)
    img_url = "https://qyapi.weixin.qq.com/cgi-bin/media/uploadimg?access_token={}".format(Gtoken)
    files = {'media': open(path, 'rb')}
    r = requests.post(img_url, files=files)
    re = json.loads(r.text)
    # print("media_id: " + re['media_id'])
    return re['url']

  def send_pic(self, pic_path):
    img_url = self.get_media_url(pic_path)
    url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={}".format(
      self.__get_token(self.corpID, self.secret))
    data = {
      "toparty": self.partyID,
      "msgtype": "text",
      "agentid": self.agentID,
      "text": {
        "content": img_url
      },
      "safe": "0"
    }
    result = requests.post(url=url, data=json.dumps(data))
    return result.text

  def send_violence_warning(self, pic_path):
    img_url = self.get_media_url(pic_path)
    url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={}".format(
      self.__get_token(self.corpID, self.secret))
    data = {
      "toparty": self.partyID,
      "msgtype": "text",
      "agentid": self.agentID,
      "text": {
        "content": '【管理員注意】,有校園暴力行為發(fā)生,請及時處理!監(jiān)控圖片>>' + img_url
      },
      "safe": "0"
    }
    result = requests.post(url=url, data=json.dumps(data))
    return result.text

  def send_violence_warning_read_path_from_class(self):
    pic_path = 'temp.jpg'
    cv2.imwrite(pic_path, self.pic)
    self.send_violence_warning(pic_path)
    os.remove(pic_path)

  def send_violence_warning_in_new_thread(self, pic):
    self.pic = pic
    thread = Thread(target=self.send_violence_warning_read_path_from_class)
    thread.start()



if __name__ == '__main__':
  wechat_info = Wechat_Info()
  # result = wechat_info.send_message('微信測試_2020')
  # result = wechat_info.send_pic('C:\\Users\\JiaDing\\Desktop\\pic.jpg')
  result = wechat_info.send_violence_warning('C:\\Users\\JiaDing\\Desktop\\pic.jpg')
  print(result)

在主線程里面調(diào)用那個send_violence_warning_in_new_thread,把opencv的圖片傳進來就行

效果:

雖然是url,但是效果其實也挺好的,點一下就能顯示了,即使是第三方圖床也沒有提示什么的,操作速度也很快,沒有其他幺蛾子

以上就是python向企業(yè)微信發(fā)送文字和圖片消息的示例的詳細內(nèi)容,更多關(guān)于python發(fā)送文字和圖片的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實現(xiàn)的對本地host127.0.0.1主機進行掃描端口功能示例

    Python實現(xiàn)的對本地host127.0.0.1主機進行掃描端口功能示例

    這篇文章主要介紹了Python實現(xiàn)的對本地host127.0.0.1主機進行掃描端口功能,可實現(xiàn)掃描本機開放端口的功能,涉及Python socket模塊與Thread多線程模塊相關(guān)使用技巧,需要的朋友可以參考下
    2019-02-02
  • Python argv用法詳解

    Python argv用法詳解

    這篇文章主要介紹了Python argv用法詳解的相關(guān)資料,涉及到python argv相關(guān)知識,需要的朋友可以參考下
    2016-01-01
  • 70行Python代碼實現(xiàn)一個桌面自動翻譯工具

    70行Python代碼實現(xiàn)一個桌面自動翻譯工具

    PySimpleGUI是一款很棒的自動化輔助模塊,讓你更輕松的實現(xiàn)日常任務的自動化。本文將利用PySimpleGUI編寫一個桌面自動翻譯工具,感興趣的可以了解一下
    2022-07-07
  • 對python中的xlsxwriter庫簡單分析

    對python中的xlsxwriter庫簡單分析

    今天小編就為大家分享一篇對python中的xlsxwriter庫簡單分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明

    tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明

    這篇文章主要介紹了tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • pycharm中TensorFlow調(diào)試常見問題小結(jié)

    pycharm中TensorFlow調(diào)試常見問題小結(jié)

    本文主要介紹了在pycharm下調(diào)用tensorflow庫時會出現(xiàn)的問題,在本文做個小結(jié),也給自己留個筆記,感興趣的可以了解一下
    2021-06-06
  • python高效的素數(shù)判斷算法

    python高效的素數(shù)判斷算法

    這篇文章主要介紹了python高效的素數(shù)判斷算法,研究算法的同學一定要看一下
    2021-04-04
  • Python matplotlib超詳細教程實現(xiàn)圖形繪制

    Python matplotlib超詳細教程實現(xiàn)圖形繪制

    matplotlib 模塊不僅提供了繪制統(tǒng)計圖表的功能,還支持繪制圓形、正方形、矩形等各種圖形。這篇文章主要為大家詳細介紹了利用matplotlib.patches 繪制一些基本圖形,快來跟隨小編一起學習吧
    2021-12-12
  • python&MongoDB爬取圖書館借閱記錄

    python&MongoDB爬取圖書館借閱記錄

    這篇文章主要介紹了python&MongoDB爬取圖書館借閱記錄的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • 利用setuptools打包python程序的方法步驟

    利用setuptools打包python程序的方法步驟

    這篇文章主要介紹了利用setuptools打包python程序的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01

最新評論