ロボットがメッセージを送信する際には,ノイルインターフェースを呼び出す.

作者: リン・ハーン , 作成日: 2020-07-02 12:03:23, 更新日: 2023-09-28 21:08:12

img

"つ目 概要

現実取引では,発明者の定量化ロボット取引状態をリアルタイムに把握するために,時にはロボットが実行した取引結果を微信,メール,テキストメッセージなどに送信する必要がある.しかし,毎日何百もの様々な情報が,これらの情報に対して敏感な状態になり,重要な情報がタイムリーに取得できないことを引き起こしているため,この記事は,ピニクリストインターフェイスを呼び出すことでロボットへのメッセージの推移を実現します.

2 釘付けなロボット

釘群ロボットは高度な拡張機能であり,釘群に3人の情報を集約し,情報を自動的に同期できるようにする.Webhookプロトコルのカスタムアクセスをサポートし,発明者による量化ロボットを介して,警告,アラームなどの情報を釘群に集約する.テキスト (text),リンク (link),マークダウン (markdown) の3つのメッセージ形式,5つのメッセージタイプをサポートする.同じメッセージが同時に複数の釘群に送られる. 公式リンクは:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup

3 ロボットを作る

ステップ1: 釘付けグループを設立する imgWebHookは,WebHookアドレスと呼ばれる独自のHookアドレスを生成し,WebHookアドレスへのメッセージを送信することで,Hookグループからメッセージを受け取ります.PC端の例として,まず左上部の+をクリックしてグループチャットを開始します.

ステップ2:ノックリストのロボットを追加ヘッダをクリックし,ボットを管理するを選択し,カスタマイズを選択し,追加をクリックします. カスタマイズボットの名前:FMZ,新しく作成した釘群に追加します.ボットは3つのセキュリティ設定をサポートします:img

  • カスタムキーワード: このキーワードを含むメッセージのみが同期される.
  • キーワードを設定する.
  • IPアドレスは,第三者の情報に固定されたIPアドレスの段落である.img img警告またはアラームのみを使用する場合,カスタマイズキーワードを選択できます. ここで定義するキーワードは":",つまり,発明者が量的にロボットに送信されたメッセージにが含まれている場合,そのメッセージがピッチグループにプッシュされます. その後,同意協定をクリックします. 最後にWebhookのアドレスをコピーします.

4 コード実装

Webhook アドレスを取得すると,このアドレスへの HTTP POST リクエストを発明者の量化ポリシーで開始し,このピッチグループにメッセージを送ることができます.注意すべきは,POST リクエストを開始する際に,文字列コードを UTF-8 に設定する必要があります.

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


# 向钉钉群输出信息
def msg(text):
    token ="0303627a118e739e628bcde104e19cf5463f61a4a127e4f2376e6a8aa1156ef1"
    headers = {'Content-Type': 'application/json;charset=utf-8'}  # 请求头
    api_url = f"https://oapi.dingtalk.com/robot/send?access_token={token}"
    json_text = {
        "msgtype": "text",  # 信息格式
        "text": {
            "content": text
        }
    }
    # 发送并打印信息
    Log(requests.post(api_url, json.dumps(json_text), headers=headers).content)

    
# 测试函数
def onTick():
    arr = ['BTC', 'ETH', 'XRP', 'BCH', 'LTC']  # 主流数字货币
    # 获取东八区时间
    bj_dt = str(datetime.now().astimezone(timezone(timedelta(hours=8))))
    bj_dt = bj_dt.split('.')[0]  # 处理时间
    text = f'{bj_dt}\n'  # 定义信息内容
    for i in arr:  # 循环主流数字货币数组
        exchange.IO("currency", f"{i}_USDT")  # 切换交易对
        ticker = exchange.GetTicker().Last  # 获取最新价格
        if i == 'LTC':
            full = ' :'
        else:
            full = ':'
        text = text + f"{i}/USDT{full}${ticker}\n"  # 处理信息内容
    msg(text)  # 调用msg函数,输出信息
    

# 策略入口
def main():
    while True:  # 进入无线循环
        onTick()  # 执行onTick函数
        Sleep(1000 * 60)  # 休眠一分钟

オーダーメイドのロボットは,メッセージを同期するときに,携帯電話番号を@複数のグループ内のメンバーに設定することで,メッセージを受け取る@グループメンバーに@メッセージの通知を与え,セッションを遮断しないように設定しても通知を提示します.

# 向钉钉群输出信息
def msg(text):
    token = "0303627a118e739e628bcde104e19cf5463f61a4a127e4f2376e6a8aa1156ef1"
    headers = {'Content-Type': 'application/json;charset=utf-8'}  # 请求头
    api_url = f"https://oapi.dingtalk.com/robot/send?access_token={token}"
    json_text = {
        "msgtype": "text",  # 信息格式
        "text": {
            "content": text
        },
        "at": {
            "atMobiles": [
                "16666666666",  # 被@的手机号码
                "18888888888"  # 被@的手机号码
            ],
            "isAtAll": False  # 不@所有人
        }
    }
    # 发送并打印信息
    Log(requests.post(api_url, json.dumps(json_text), headers=headers).content)

5 ロボットテスト

このコードで,私たちは,主流の仮想通貨の価格を毎分入手し,その情報をピッチグループに押し出す例を書きました.img img


関連性

もっと

アール,企業向け微信のウェブフックを推し進める人なら,これを作れるの?

リンゴ波の微妙な歩み微信の推し込みは制限されているので,推し込みは可能ですか?