ロボットプッシュメッセージを実現するためにDingdingインターフェースを呼んでください

作者: リン・ハーンリディア作成日:2022年12月20日 08:57:16 更新日:2023年9月20日 09:09:55

img

ロボットプッシュメッセージを実現するためにDingdingインターフェースを呼んでください

1.要約

実際の取引では,FMZ Quant ロボットの取引状況をタイムリーに把握するために,時にはロボットによって実行された取引結果をWeChat,メール,SMSなどに送信する必要があります.しかし,毎日数百種類の情報が存在し,これらの情報に対して無感性が高まっており,重要な情報の間に合う収集に失敗します.したがって,この記事では,Dingdingグループインターフェースを呼び出し,ロボットのプッシュメッセージを実装します.

2. グループロボットの ダイニング

Dingdingグループロボットは高度な拡張機能である.Dingdingアカウントがある限り,それを使用できます.自動情報同期を達成するために,第三者の情報をDingdingグループにまとめる.Webhookプロトコルのカスタマイズされたアクセスをサポートし,Reminder,Alert,その他の情報をFMZ Quantロボットを通じてDingdingグループにまとめる.テキスト,リンク,マークダウンという3つのメッセージ形式と5つのメッセージタイプがサポートされています.同じメッセージは同時に複数のDingdingグループに送信することもできます. 公式リンクを参照してください:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup

3. ロボットを作る

ステップ1: ダンディンググループを作成する

img

Dingding グループで作成された各カスタマイズされたロボットは,WebHook アドレスと呼ばれるユニークなフック アドレスを生成します.WebHook アドレスにメッセージをプッシュすることで,Dingding グループがメッセージを受け取ります.例として,PC版の Dingding を取りましょう.まず,左上の+ 記号をクリックしてグループチャットを開始します.メッセージを受け入れたい場合は,2人を選択して追い出します.グループ名:FMZ Robotを入力して,グループタイプとして通常のグループを選択します.

ステップ2:Dingdingグループロボットを追加

アバターをクリックし,ロボット管理を選択し,その後カスタムを選択し,追加をクリックします.カスタムロボット名: FMZ,新しく作成されたDingdingグループに追加されます.ロボットは3つのセキュリティ設定をサポートします:

img

  • ユーザー定義キーワード:このキーワードを含む場合にのみ情報が同期されます.
  • 署名: パスワード設定に相当する
  • IPアドレス:固定された第三者情報のIPアドレスセグメント.

提示または警告のためにのみ使用されている場合は,ユーザー定義キーワードを選択します. ここで定義するキーワードは:です.つまり,FMZ Quant Robotによって押された情報に:が含まれると,情報はDingdingグループに押されます.その後,合意を完了するために同意をクリックします.最後に,バックアップのためにWebhookアドレスをコピーします.

4. コードの実施

Webhook アドレスを取得した後,FMZ Quant 戦略のアドレスに HTTP POST リクエストを送信することで,Dingding グループに情報を送信できます.POST リクエストが開始されたときに文字セットエンコーディングが UTF-8 に設定されなければならないことに注意してください.

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

カスタマイズされたロボットが情報を同期すると,グループの複数のメンバーに携帯電話番号を @ に設定できます. グループメンバーがメッセージを受け取ると, @ メッセージのリミラーが表示されます. No Disturb Session が設定されている場合でも,リミラーは通知されます.

# 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. テストロボット

この情報をDingdingグループに送信します. デジタル通貨の価格がimg


関連性

もっと