Appelez l'interface Dingding pour réaliser le message push robot

Auteur:Je ne sais pas., Créé: 2022-12-20 08:57:16, Mis à jour: 2023-09-20 09:09:55

img

Appelez l'interface Dingding pour réaliser le message push robot

1. résumé

Dans les transactions réelles, afin de connaître l'état de trading du robot FMZ Quant dans le temps, nous devons parfois envoyer les résultats des transactions exécutées par le robot à WeChat, e-mail, SMS, etc. Cependant, il y a des centaines de types d'informations différents chaque jour, ce qui le rend insensible à ces informations, ce qui conduit à l'échec de la collecte en temps opportun d'informations importantes.

2. robot de groupe dingding

Le robot de groupe Dingding est une fonction d'extension avancée. Tant qu'il y a un compte Dingding, vous pouvez l'utiliser. Il peut regrouper les informations de tiers dans le groupe Dingding pour obtenir une synchronisation automatique des informations. Il prend en charge l'accès personnalisé au protocole Webhook, et regroupe le rappel, l'alerte et d'autres informations dans le groupe Dingding via le robot FMZ Quant. Trois formats de message et cinq types de message sont pris en charge: texte, lien et réduction de marque. Le même message peut également être envoyé à plusieurs groupes Dingding en même temps. Consultez le lien officiel:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup

3. Créer un robot

Étape 1: Créer un groupe Dingding

img

Chaque robot personnalisé créé dans le groupe Dingding générera une adresse de crochet unique, appelée une adresse WebHook. Le groupe Dingding recevra un message en poussant un message vers l'adresse WebHook. Prenons l'exemple de la version PC de Dingding. Tout d'abord, cliquez sur le signe + en haut à gauche pour démarrer un chat de groupe. Si vous voulez simplement accepter le message vous-même, vous pouvez sélectionner deux personnes et les renvoyer.

Étape 2: Ajouter le robot du groupe Dingding

Cliquez sur l'avatar, sélectionnez Gestion des robots, puis sélectionnez Personnalisation, puis cliquez sur Ajouter.

img

  • Mots-clés définis par l'utilisateur: les informations ne seront synchronisées que si elles contiennent ce mot-clé.
  • Signature: équivalente à la définition d'un mot de passe.
  • Adresse IP: le segment d'adresse IP des informations fixes de tiers.

Si elle n'est utilisée que pour rappeler ou alerter, sélectionnez le mot-clé défini par l'utilisateur. Le mot-clé que nous définissons ici est :, c'est-à-dire que lorsque les informations poussées par le robot quantique FMZ contiennent :, les informations seront poussées vers le groupe Dingding. Ensuite, cliquez sur Accepter pour compléter l'accord. Enfin, copiez l'adresse Webhook pour sauvegarder.

4. Mise en œuvre du code

Après avoir obtenu l'adresse Webhook, nous pouvons envoyer l'information au groupe Dingding en envoyant une requête HTTP POST à l'adresse dans la stratégie FMZ Quant.

import requests
import json
from datetime import datetime, timedelta, timezone


# Output information to Dingding group
def msg(text):
    token ="0303627a118e739e628bcde104e19cf5463f61a4a127e4f2376e6a8aa1156ef1"
    headers = {'Content-Type': 'application/json;charset=utf-8'}  # Request header
    api_url = f"https://oapi.dingtalk.com/robot/send?access_token={token}"
    json_text = {
        "msgtype": "text",  # Message type
        "text": {
            "content": text
        }
    }
    # Send and print messages
    Log(requests.post(api_url, json.dumps(json_text), headers=headers).content)

    
# Test functions
def onTick():
    arr = ['BTC', 'ETH', 'XRP', 'BCH', 'LTC']  # Mainstream digital currencies
    # Get the time of East Zone 8
    bj_dt = str(datetime.now().astimezone(timezone(timedelta(hours=8))))
    bj_dt = bj_dt.split('.')[0]  # Time of processing
    text = f'{bj_dt}\n'  # Define information content
    for i in arr:  # Loop mainstream digital currency array
        exchange.IO("currency", f"{i}_USDT")  # Switch trading pairs
        ticker = exchange.GetTicker().Last  # Get the latest price
        if i == 'LTC':
            full = ' :'
        else:
            full = ':'
        text = text + f"{i}/USDT{full}${ticker}\n"  # Processing information content
    msg(text)  # Call msg function to output information
    

# Strategy entrance
def main():
    while True:  # Enter infinite loop 
        onTick()  # Execute onTick function
        Sleep(1000 * 60)  # Sleep for one minute

Lorsqu'un robot personnalisé synchronise des informations, il peut définir le numéro de téléphone mobile à @ plusieurs membres du groupe. Lorsque le membre du groupe reçoit le message, il y aura un rappel de message @. Le rappel sera toujours notifié même si la session de non-inquiétude est définie.

# Output information to Dingding group
def msg(text):
    token = "0303627a118e739e628bcde104e19cf5463f61a4a127e4f2376e6a8aa1156ef1"
    headers = {'Content-Type': 'application/json;charset=utf-8'}  # Request header
    api_url = f"https://oapi.dingtalk.com/robot/send?access_token={token}"
    json_text = {
        "msgtype": "text",  # Message type
        "text": {
            "content": text
        },
        "at": {
            "atMobiles": [
                "16666666666",  # Phone number of the @
                "18888888888"  # Phone number of the @
            ],
            "isAtAll": False  # Not @ Everyone
        }
    }
    # Send and print messages
    Log(requests.post(api_url, json.dumps(json_text), headers=headers).content)

5. Robot d'essai

Dans le code ci-dessus, nous avons écrit un cas pour obtenir le prix de la monnaie numérique traditionnelle toutes les minutes et envoyer ces informations au groupe Dingding:img


Relationnée

Plus de