介绍
微信群提供了机器人功能,通过 API 可以快速向群内发送消息,可以用于各种推送类信息。
消息类型支持图片,因此可以将手机使用的文件下载链接变成二维码,供手机扫码下载使用。
配置
只需要一个 HTTP 请求即可将内容发送到群中,支持多种消息类型。
思路
使用 Python QR 库将下载链接转换为二维码
使用在线网站工具将 curl 请求转换为 Python 代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#!/usr/bin/env python # -*- coding: UTF-8 -*- import base64 import hashlib import io import json import requests import qrcode def main(): send_wxwork_qrcode('token-xxxxxxxxxxxx', 'http://www.youdomain.com/download.apk') def send_wxwork_qrcode(token, content): qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data(content) qr.make(fit=True) img = qr.make_image(fill_color="black", back_color="white") # img.show() # img.save("qrcode.png") img_bytes_io = io.BytesIO() img.save(img_bytes_io, format='PNG') img_bytes_array = img_bytes_io.getvalue() encode_str = base64.b64encode(img_bytes_array) image_data = str(encode_str, 'utf-8') md = hashlib.md5() md.update(img_bytes_array) image_md5 = md.hexdigest() # print('data:image/png;base64,' + image_data) # print(image_md5) params = { 'key': f'{token}', } data = { "msgtype": "image", "image": { "base64": image_data, "md5": image_md5 } } headers = {'content-type': 'application/json;charset=utf-8'} url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send' body = json.dumps(data) print(body) response = requests.post(url, params=params, data=body, headers=headers) print(f'response:/n{response.text}') if __name__ == '__main__': main()
|
共有 0 条评论