Вызвать интерфейс Dingding для реализации сообщения робота push

Автор:Лидия., Создано: 2022-12-20 08:57:16, Обновлено: 2023-09-20 09:09:55

img

Вызвать интерфейс Dingding для реализации сообщения робота push

1. резюме

В реальных транзакциях для того, чтобы вовремя узнать торговый статус робота FMZ Quant, иногда нам нужно отправлять результаты транзакций, выполненных роботом на WeChat, электронную почту, SMS и т. Д. Однако каждый день появляются сотни различных видов информации, что делает его нечувствительным к этой информации, что приводит к неудаче своевременного сбора важной информации.

Дингдинг групповой робот

Робот группы Dingding - это продвинутая функция расширения. До тех пор, пока есть учетная запись Dingding, вы можете использовать его. Он может агрегировать информацию третьих сторон в группу Dingding для достижения автоматической синхронизации информации. Он поддерживает пользовательский доступ к протоколу Webhook и агрегирует напоминание, предупреждение и другую информацию в группу Dingding через робота FMZ Quant. Поддерживаются три формата сообщений и пять типов сообщений: текст, ссылка и отметка. Одно и то же сообщение также может быть отправлено нескольким группам Dingding одновременно. Ссылка на официальную ссылку:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup

3. Создать робота

Шаг 1: Создайте группу Dingding

img

Каждый персонализированный робот, созданный в группе Dingding, будет генерировать уникальный адрес крючка, который называется адресом WebHook. Группа Dingding получит сообщение, нажав сообщение на адрес WebHook. В качестве примера возьмем версию Dingding для ПК. Во-первых, нажмите знак + в левом верхнем углу, чтобы начать групповой чат. Если вы просто хотите принять сообщение самостоятельно, вы можете выбрать двух человек и выгнать их.

Шаг 2: Добавить робот группы Dingding

Нажмите на аватара, выберите Управление роботами, затем выберите Настройка и нажмите Добавить. Название персонализированного робота: FMZ, добавлено в недавно созданную группу Dingding. Робот поддерживает три настройки безопасности:

img

  • Пользовательское ключевое слово: информация будет синхронизирована только в том случае, если она содержит это ключевое слово.
  • Подпись: эквивалентна установке пароля.
  • IP-адрес: сегмент IP-адреса фиксированной сторонней информации.

Если он используется только для напоминания или оповещения, выберите ключевое слово, определенное пользователем. Ключевое слово, которое мы определяем здесь, :, то есть, когда информация, отправленная FMZ Quant Robot, содержит :, информация будет отправлена в группу Dingding. Затем нажмите Согласиться, чтобы завершить соглашение. Наконец, скопируйте адрес Webhook для резервного копирования.

4. Внедрение кодекса

После получения адреса Webhook мы можем отправить информацию в группу Dingding, отправив HTTP POST запрос на адрес в стратегии FMZ Quant.

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

Когда персонализированный робот синхронизирует информацию, он может установить номер мобильного телефона на @ нескольких членов группы. Когда член группы получает сообщение, будет напоминание о сообщении @. Напоминание все равно будет уведомлено, даже если сеанс без беспокойства установлен.

# 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


Связанные

Больше