Rufen Sie Dingding-Schnittstelle, um Roboter-Push-Nachricht zu erkennen

Schriftsteller:Lydia., Erstellt: 2022-12-20 08:57:16, Aktualisiert: 2023-09-20 09:09:55

img

Rufen Sie Dingding-Schnittstelle, um Roboter-Push-Nachricht zu erkennen

1. Zusammenfassung

In realen Transaktionen müssen wir manchmal die Transaktionsergebnisse des Roboters an WeChat, E-Mail, SMS usw. senden, um den Handelsstatus des FMZ Quant-Roboters rechtzeitig zu erfahren. Es gibt jedoch täglich Hunderte verschiedener Arten von Informationen, die ihn für diese Informationen unempfindlich machen, was zu einem Versagen der rechtzeitigen Sammlung wichtiger Informationen führt. Daher implementiert dieser Artikel die Push-Nachricht des Roboters, indem er die Dingding-Gruppenoberfläche anruft.

2. Dingding-Gruppe-Roboter

Der Dingding-Gruppenroboter ist eine erweiterte Erweiterungsfunktion. Solange es ein Dingding-Konto gibt, können Sie ihn verwenden. Er kann die Informationen von Drittanbietern in die Dingding-Gruppe zusammenfassen, um eine automatische Informationssynchronisierung zu erreichen. Er unterstützt den benutzerdefinierten Zugriff auf das Webhook-Protokoll und sammelt die Erinnerung, Warnung und andere Informationen in die Dingding-Gruppe über den FMZ Quant-Roboter. Drei Nachrichtenformate und fünf Nachrichtenarten werden unterstützt: Text, Link und Markdown. Die gleiche Nachricht kann auch an mehrere Dingding-Gruppen gleichzeitig gesendet werden. Siehe offiziellen Link:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup

3. Erstellen Sie einen Roboter

Schritt 1: Erstellen Sie eine Dingding-Gruppe

img

Jeder angepasste Roboter, der in der Dingding-Gruppe erstellt wurde, erzeugt eine einzigartige Hook-Adresse, die als WebHook-Adresse bezeichnet wird. Die Dingding-Gruppe erhält eine Nachricht, indem sie eine Nachricht an die WebHook-Adresse drückt. Nehmen wir zum Beispiel die PC-Version von Dingding. Klicken Sie zunächst auf das +-Zeichen oben links, um einen Gruppenchat zu starten. Wenn Sie die Nachricht einfach selbst akzeptieren möchten, können Sie zwei Personen auswählen und sie rauswerfen. Füllen Sie den Gruppennamen aus: FMZ Robot und wählen Sie eine normale Gruppe als Gruppenart.

Schritt 2: Hinzufügen von Dingding-Gruppenroboter

Klicken Sie auf den Avatar, wählen Sie Robot Management aus, wählen Sie dann Custom aus und klicken Sie auf Add.

img

  • Benutzerdefiniertes Schlüsselwort: Informationen werden nur synchronisiert, wenn sie dieses Schlüsselwort enthalten.
  • Unterschrift: Äquivalent zur Festlegung eines Passworts.
  • IP-Adresse: das IP-Adressensegment von festen Informationen von Dritten.

Wenn es nur zur Erinnerung oder Alarmierung verwendet wird, wählen Sie das benutzerdefinierte Schlüsselwort aus. Das Schlüsselwort, das wir hier definieren, ist :, d.h. wenn die vom FMZ Quant Robot geschobenen Informationen : enthalten, werden die Informationen in die Dingding-Gruppe geschoben. Klicken Sie dann auf Zustimmen, um die Vereinbarung abzuschließen. Schließlich kopieren Sie die Webhook-Adresse zum Backup.

4. Umsetzung des Kodex

Nachdem wir die Webhook-Adresse erhalten haben, können wir die Informationen an die Dingding-Gruppe senden, indem wir eine HTTP-POST-Anfrage an die Adresse in der FMZ Quant-Strategie senden.

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

Wenn ein benutzerdefinierter Roboter Informationen synchronisiert, kann er die Mobiltelefonnummer auf @ mehrere Mitglieder in der Gruppe setzen. Wenn das Gruppenmitglied die Nachricht erhält, wird eine @ Nachricht Erinnerung angezeigt. Die Erinnerung wird auch dann benachrichtigt, wenn die No Disturb Session eingestellt ist.

# 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. Testroboter

In dem obigen Code haben wir einen Fall geschrieben, um den Preis der Mainstream-Digitalwährung jede Minute zu erhalten und diese Informationen an die Dingding-Gruppe zu schicken:img


Verwandt

Mehr