Cree un mecanismo de inserción de recordatorio de mensaje gratuito a través de WeChat corporativo y WeChat

Yo mismo he realizado muchos servicios y quiero enviarlos a teléfonos móviles mediante el envío de mensajes Push. Sin embargo, es necesario desarrollar aplicaciones correspondientes para teléfonos móviles de diferentes plataformas, y el costo es relativamente alto. Así que comencé a buscar un mecanismo de recordatorio de mensajes gratuito y de código abierto.

dirección:

1. Servicio de inserción

2. Cuenta oficial de WeChat

3. Sincronización de calendario

Después de una feroz investigación, se encontró que:

Los servicios push son básicamente necesarios para desarrollar las aplicaciones correspondientes

Si la cuenta oficial de WeChat envía mensajes, la cantidad de mensajes que se pueden enviar todos los días es limitada o se utilizan mensajes de plantilla, que tienen una escalabilidad relativamente baja.

La sincronización del calendario es relativamente baja y el software de sincronización correspondiente debe instalarse en el teléfono móvil, que no es universal.

Más tarde, se descubrió que Enterprise WeChat admite aplicaciones personalizadas y abrió WeChat, por lo que tenemos una nueva dirección:

1. Registrar un negocio

2. Cree una nueva aplicación bajo la empresa

3. Use WeChat para vincular WeChat empresarial

4. Encienda el interruptor de sincronización de mensajes de WeChat empresarial a WeChat

5. Conecte su propio servicio de recordatorio/alarma a la aplicación en el WeChat empresarial

6. Agregue personas (familiares, amigos) que necesitan recibir información a miembros corporativos

Finalmente lograr el siguiente efecto

Adjunte un pequeño código para recordar el pronóstico del tiempo:

# -*- coding: utf-8 -*-
# @Time    : 2021/6/21 5:10 下午
# @Author  : SunRuichuan
# @File    : GetWeather.py
import datetime
import json
import requests

appid = '*****'
appsecret = '*****'
weather_url = 'https://tianqiapi.com/api'


def getWeather(city='北京'):
    params = {
        'appid': appid,
        'appsecret': appsecret,
        'version': 'v1',
        'cityid': '',
        'city': city,
        'ip': '',

    }
    return requests.get(url=weather_url, params=params)


def getAccessToken():
    url = '企业微信获取token链接,自己去申请'
    res = requests.get(url).json()
    if res['errcode'] == 0:
        return res['access_token']
    else:
        return None


def sendMsgToAll(content):
    """通过企业微信申请的应用发送内容"""
    access_token = getAccessToken()
    if access_token is None:
        return
    url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
    data = {
        "touser": '@all',
        "msgtype": "text",
        "agentid": 1000002,
        "text": {
            "content": content
        },
        "safe": 0
    }
    requests.post(url=url, data=json.dumps(data))


def getCarLimit():
    tomorrow = (datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y-%m-%d")
    # print(tomorrow)
    url = 'http://yw.jtgl.beijing.gov.cn/jgjxx/services/getRuleWithWeek'
    result = requests.get(url=url).json()
    for i in result['result']:
        _date = str(i['limitedTime']).replace('年', '-').replace('月', '-').replace('日', '')
        if tomorrow == _date:
            # print(i['limitedNumber'])
            return i['limitedNumber']


if __name__ == '__main__':
    limit = getCarLimit()
    limit_msg = ''
    if limit is not None and limit != '不限行':
        limit_msg = f'明日限行尾号为【{limit}】'

    print(limit_msg)

    weather_res = getWeather().json()
    city_name = weather_res['city']
    update_time = weather_res['update_time']
    weather_data = weather_res['data']
    '''获取明日天气'''
    date = weather_data[1]['date']
    weather = weather_data[1]['wea']
    high_tem = weather_data[1]['tem1']
    low_tme = weather_data[1]['tem2']
    air_level = weather_data[1]['air_level']
    wash_car = '未知'
    for wash in weather_data[1]['index']:
        if wash['title'] == '洗车指数':
            wash_car = wash['level']
    weather_string = f'{date} {city_name}\n天气情况【{weather}】\n最高气温【{high_tem}】\n最低气温【{low_tme}】\n空气质量【{air_level}】\n洗车指数【{wash_car}】'

    print(weather_string)
    msg = weather_string + '\n' + limit_msg
    sendMsgToAll(msg)

Supongo que te gusta

Origin blog.csdn.net/u013772433/article/details/122827298
Recomendado
Clasificación