Panggilan Dingding antarmuka untuk menyadari robot push pesan

Penulis:Lydia, Dibuat: 2022-12-20 08:57:16, Diperbarui: 2023-09-20 09:09:55

img

Panggilan Dingding antarmuka untuk menyadari robot push pesan

1. Ringkasan

Dalam transaksi nyata, untuk mengetahui status perdagangan robot FMZ Quant tepat waktu, terkadang kita perlu mengirim hasil transaksi yang dijalankan oleh robot ke WeChat, email, SMS, dll. Namun, ada ratusan jenis informasi yang berbeda setiap hari, yang membuatnya tidak sensitif terhadap informasi ini, yang menyebabkan kegagalan pengumpulan informasi penting secara tepat waktu.

2. robot kelompok Dingding

Robot grup Dingding adalah fungsi ekstensi canggih. Selama ada akun Dingding, Anda dapat menggunakannya. Robot ini dapat mengumpulkan informasi pihak ketiga ke dalam grup Dingding untuk mencapai sinkronisasi informasi otomatis. Robot ini mendukung akses kustom dari protokol Webhook, dan mengumpulkan pengingat, peringatan dan informasi lainnya ke dalam grup Dingding melalui robot FMZ Quant. Tiga format pesan dan lima jenis pesan didukung: teks, link dan markdown. Lihat link resmi:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup

3. Membuat robot

Langkah 1: Buatlah kelompok Dingding

img

Setiap robot kustom yang dibuat dalam grup Dingding akan menghasilkan alamat hook yang unik, yang disebut alamat WebHook. Kelompok Dingding akan menerima pesan dengan mendorong pesan ke alamat WebHook. Mari kita ambil versi PC dari Dingding sebagai contoh. Pertama, klik tanda + di sebelah kiri atas untuk memulai obrolan grup. Jika Anda hanya ingin menerima pesan itu sendiri, Anda dapat memilih dua orang dan mengusir mereka. Isi nama grup: FMZ Robot, dan pilih grup biasa sebagai jenis grup.

Langkah 2: Tambahkan robot kelompok Dingding

Klik avatar, pilih Robot Management, lalu pilih Custom, dan klik Add. Nama robot khusus: FMZ, ditambahkan ke grup Dingding yang baru dibuat. Robot ini mendukung tiga pengaturan keamanan:

img

  • Kata kunci yang ditentukan pengguna: informasi hanya akan disinkronkan jika berisi kata kunci ini.
  • Tanda tangan: setara dengan pengaturan kata sandi.
  • Alamat IP: segmen alamat IP dari informasi pihak ketiga yang tetap.

Jika hanya digunakan untuk pengingat atau peringatan, pilih kata kunci yang didefinisikan pengguna. Kata kunci yang kami definisikan di sini adalah :, yaitu, ketika informasi yang didorong oleh FMZ Quant Robot berisi :, informasi akan didorong ke kelompok Dingding. Kemudian klik Setuju untuk menyelesaikan perjanjian. Akhirnya, salin alamat Webhook untuk cadangan.

4. Pelaksanaan kode

Setelah mendapatkan alamat Webhook, kita dapat mengirim informasi ke grup Dingding dengan mengirim permintaan HTTP POST ke alamat dalam strategi FMZ Quant. Perhatikan bahwa pengkodean set karakter harus diatur ke UTF-8 ketika permintaan POST dimulai.

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

Saat robot disinkronkan, ia dapat mengatur nomor ponsel ke @ beberapa anggota dalam grup. Ketika anggota grup menerima pesan, akan ada pengingat pesan @. Pengingat masih akan diberitahu bahkan jika No Disturb Session diatur.

# 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. Robot pengujian

Dalam kode di atas, kami menulis kasus untuk mendapatkan harga mata uang digital arus utama setiap satu menit dan mendorong informasi ini ke kelompok Dingding:img


Berkaitan

Lebih banyak