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.
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
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
Klik avatar, pilih Robot Management, lalu pilih Custom, dan klik Add. Nama robot khusus:
Jika hanya digunakan untuk pengingat atau peringatan, pilih kata kunci yang didefinisikan pengguna. Kata kunci yang kami definisikan di sini adalah
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)
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: