인터페이스를 호출하여 로봇에게 메시지를 전달합니다.

저자: , 2020-07-02 12:03:23, 업데이트: 2023-09-28 21:08:12

img

제1장, 요약

실제 거래에서 발명가들의 양적 로봇 거래 상태를 제때 파악하기 위해, 때때로 우리는 로봇이 실행하는 거래 결과를 微信, e-mail, 문자 메시지 등으로 전송해야 합니다. 그러나 매일 수백 개의 다양한 정보가 이러한 정보에 민감하지 않게 만들고 중요한 정보가 제때 확인되지 않도록합니다. 따라서 이 기사는 그룹 인터페이스를 호출하여 로봇의 메시지를 전달하는 것을 구현합니다.

두 번째, 바늘잡이 로봇

클리클러그 로봇은 고급 확장 기능으로, 클리클러그에 세 번째 정보를 집계하여 정보를 자동으로 동기화 할 수 있습니다. 웹후크 프로토콜의 사용자 정의 액세스를 지원하고, 발명의 크라우드 로봇을 통해 알림, 경보 등의 정보를 클리클러그에 집계합니다. 텍스트 (text), 링크 (link), 마크다운 (markdown) 를 지원합니다. 세 가지 메시지 형식, 다섯 가지 메시지 유형을 지원합니다. 동일한 메시지는 동시에 여러 클리클러그에 전송 될 수 있습니다. 이 글의 공식 링크는:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup

세 번째, 로봇을 만드는 것

1단계: 그룹을 만들자 img클립크리그 그룹은 사용자 지정 로봇을 만들 때마다 고유한 Hook 주소를 생성합니다. 우리는 웹 룩 주소라고 부릅니다. 웹 룩 주소로 메시지를 푸시킴으로써 클립크리그 그룹이 메시지를 수신합니다. 우리는 PC에서 클립크리그를 예로 들 수 있습니다. 먼저 왼쪽 상단 + 호칭을 클릭하여 그룹 채팅을 시작하십시오.

2단계: 바늘잡이 로봇을 추가합니다.헤더 이미지를 클릭하여 로봇 관리자 선택, 그리고 사용자 정의를 선택하여 추가를 클릭하십시오. 사용자 지정 로봇 이름: FMZ, 새로 만든 그룹에 추가하십시오. 로봇은 세 가지 보안 설정을 지원합니다.img

  • 사용자 정의 키워드: 이 키워드를 포함하는 정보만 동기화됩니다.
  • 이 문서는 다른 문자를 입력하는 것과 같습니다.
  • IP 주소: 제3자 정보에 고정된 IP 주소 영역.img img경고나 경보만을 위한 경우 사용자 정의 키워드를 선택할 수 있습니다. 여기서 정의한 키워드는

네, 코드 구현

웹후크 주소를 획득한 후, 우리는 이 주소에 대한 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. 로봇 테스트

위 코드는 우리가 주류 디지털 화폐의 가격을 1분마다 가져와 이 정보를 그룹으로 밀어내는 사례를 작성한 것입니다.img img


관련

더 많은

알레, 기업 위크스컴 웹후크를 추진하는 사람이 하나를 만들 수 있습니까?

림바의 미세한 발걸음이제 WeChat 푸쉬가 제한되어 있고, 푸쉬를 할 수 있나요?