O bot pode enviar mensagens através de uma interface de concha

Autora: , Criado: 2020-07-02 12:03:23, Atualizado: 2023-09-28 21:08:12

img

Primeira, resumo

Para obter informações sobre o estado das transações dos inventores e quantificar os robôs em tempo real, às vezes precisamos enviar os resultados das transações executadas pelos robôs para WeChat, e-mail, SMS, etc. Mas centenas de mensagens diárias tornam-se insensíveis a essas informações, o que faz com que as informações importantes não possam ser pesquisadas em tempo real.

Segundo, o robô de pinças.

O robô do aglomerado é uma funcionalidade avançada que pode ser usada desde que haja um número de aglomerado. Ele pode agrupar informações de terceiros no aglomerado e sincronizar as informações automaticamente. Suporta acesso personalizado pelo protocolo Webhook, quantifica o robô através de seus inventores, agrupando informações como alertas, alarmes e outras informações no aglomerado. O site oficial é o seguinte:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup

Três, criar robôs.

Passo 1: Criar um grupo imgO grupo de pinças gerará um endereço Hook único para cada robô que criar um endereço personalizado, chamado endereço WebHook, e o grupo de pinças receberá a mensagem enviando uma mensagem para esse endereço WebHook.

Passo 2: adicionar robôs de agulhasClique no cabeçalho, selecione Gestão do bot e, em seguida, selecione Personalizar, clique em Adicionar. Nome do bot personalizado: Flex FMZ Flex, adicionar ao grupo de pinos que acabou de criar. O bot suporta três configurações de segurança:img

  • Palavras-chave personalizadas: somente as mensagens que contêm essa palavra-chave são sincronizadas.
  • A etiquetação é o equivalente a definir um código de acesso.
  • Endereço IP: segmento de endereço IP fixado em informações de terceiros.img imgSe apenas for usado para um alerta ou alarme, você pode selecionar uma palavra-chave personalizada. Aqui, a palavra-chave que definimos é o link: link, ou seja, quando o inventor quantifica que a mensagem enviada pelo robô contém o link: link, a mensagem é enviada para o grupo de pinos.

Quatro, implementação de código

Depois de obtermos o endereço do Webhook, podemos iniciar um pedido HTTP POST para esse endereço na política de quantificação do inventor e enviar informações para esse grupo de pinos. Note que, ao iniciar o pedido POST, o código do conjunto de caracteres deve ser definido como 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)  # 休眠一分钟

O robô pode ser configurado para sincronizar mensagens com vários membros do grupo através de um número de celular. Os membros do grupo recebem um aviso com uma mensagem de @ quando a mensagem é recebida.

# 向钉钉群输出信息
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. Testes de robôs

No código acima, nós escrevemos um exemplo de como obter o preço das principais moedas digitais a cada minuto e empurrar essa informação para o grupo de pontos:img img


Relacionados

Mais.

AlegriaO que é que a empresa pode fazer com o seu webhook?

O movimento da ondulaçãoAgora que o WeChat está restrito, é possível fazer o push?