<Python启发式自动化>之微信推送

<Python启发式自动化>之微信推送

Server酱

关于类如消息推送或机器人管理方面微信开放文档并没有给出简单易用的 API 接口, 这里使用的是 Server酱 服务推送通知。

Server酱

你只需要注册/登陆 Server酱 平台并扫码绑定微信公众号,对,Server酱本质是一个公众号,一个可以为你推送通知信息的公众号。

成功绑定后返回一个 SCKEY,相当于一个认证 KEY,用他们的话说,SCKEY 是非常重要的,所以请妥善保存,不要随便告诉别人。另外同样内容的消息一分钟只能发送一次,服务器只保留一周的消息记录。

具体接口如下:

https://sc.ftqq.com/[SCKEY].send

它接受两个参数:

  • text:消息标题,最长为256,必填。
  • desp:消息内容,最长64Kb,可空,支持MarkDown

PS: 此接口同时支持 GETPOST 请求。虽然我觉得并不合理,但它还是这么做了

所以你甚至没有必要编写代码,在浏览器地址栏键入API并传入必要参数也能发送通知,比如
https://sc.ftqq.com/[SCKEY].send?text=来自 PI 的问候

不出所料,很快就收到了一条来自 PI 哥的问候

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3fIS4W9L-1626156335039)(./images/SERVER酱GET.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uC7dCCm9-1626156335041)(./images/SERVER酱通知.png)]

Python 实现

# -*- coding: utf-8 -*
# @Time : 2020/10/30 9:48

import requests

# 是否开启微信通知
notice_enable = True
# server酱key
sckey = "SCU1218....1e9fac5f9b79369b576"
# 信息主体
desp = ''' 
**杭州天气** \n
> 900度,西北风1级,空气良8009,相对温度673%\n
> [![hello](https://images.pexels.com/photos/3369569/pexels-photo-3369569.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260)](https://www.dingtalk.com)\n
> ###### 10点20分发布 [天气](https://www.dingtalk.com) \n
'''
message = {
    "subject": "来自 PI 的问候",
    "content": desp
}


class SendMsg(object):
    def send(self, message):
        if not notice_enable:
            print("未开启微信通知")
            return
        url = f"https://sc.ftqq.com/{sckey}.send"
        r = requests.post(url, data={"text": f'{message["subject"]}', "desp": message["content"]})
        if r.status_code == requests.codes.ok:
            print("微信通知发送成功")
        else:
            print("微信通知发送失败")


S = SendMsg()
S.send(message)

与浏览器地址栏相反,我们提交了一个 POST 请求,并且使用了Markdown 语法,大大增强了可读性。

本篇文章由一文多发平台ArtiPub自动发布

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值