Menggunakan antara muka paku untuk membolehkan robot menghantar mesej

Penulis: , Dicipta: 2020-07-02 12:03:23, Dikemas kini: 2023-09-28 21:08:12

img

Satu, ringkasan

Dalam perdagangan sebenar, untuk mengetahui keadaan perdagangan robot pencipta kuantitatif pada masa yang tepat, kadang-kadang kita perlu menghantar hasil dagangan yang dijalankan oleh robot ke WeChat, e-mel, SMS, dan lain-lain. Tetapi setiap hari beratus-ratus pelbagai maklumat, membuat maklumat ini tidak sensitif lagi, menyebabkan maklumat penting tidak dapat disemak pada masa yang tepat, jadi artikel ini membolehkan robot memajukan mesej dengan memanggil antarmuka paku paku.

Kedua, robot pengikat.

Bot penghubung adalah satu fungsi lanjutan yang boleh digunakan jika anda mempunyai akaun penghubung. Ia dapat mengumpul maklumat pihak ketiga ke dalam penghubung untuk menyelaraskan maklumat secara automatik. Ia menyokong akses tersuai protokol Webhook, mengutip bot kuantitatif oleh pencipta, yang mengumpul maklumat seperti peringatan, penggera, dan lain-lain ke dalam penghubung. Ia menyokong teks, pautan, tanda bawah. Lihat pautan rasmi:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup

3. Membina robot

Langkah 1: Membuat kumpulan paku imgSetiap kali bot membuat alamat Hook yang unik, yang kita panggil alamat WebHook, dengan memindahkan mesej ke alamat WebHook tersebut, kumpulan Hook akan menerima mesej. Sebagai contoh, kita menggunakan PC, terlebih dahulu klik pada kiri atas + tanda panggilan untuk memulakan perbincangan kumpulan, jika anda hanya mahu menerima mesej, anda boleh menarik dua orang secara percuma, kemudian keluar, isi nama kumpulan:

Langkah 2: Tambah bot pengikatKlik gambar kepala, pilih pengurusan bot, kemudian pilih kustomisasi, klik tambah. Nama bot kustomisasi: FMZ, tambah ke kumpulan paku yang baru dibuat. Bot menyokong tiga tetapan keselamatan:img

  • Kata kunci yang ditetapkan: hanya maklumat yang mengandungi kata kunci ini yang disinkronkan.
  • Tambah tag: sama seperti menetapkan kata laluan.
  • Alamat IP: Perenggan Alamat IP yang ditetapkan untuk maklumat pihak ketiga.img imgJika hanya digunakan untuk peringatan atau penggera, anda boleh memilih kata kunci tersuai. Di sini, kita mentakrifkan kata kunci adalah :, iaitu apabila pencipta menjimatkan : dalam mesej yang dihantar oleh bot kuantitatif, maka mesej itu akan dihantar ke kumpulan paku. Kemudian klik persetujuan selesai. Akhirnya, salin alamat Webhook cadangan.

Empat, pelaksanaan kod

Setelah mendapatkan alamat Webhook, kita boleh membuat permintaan HTTP POST ke alamat ini dalam dasar kuantiti pencipta, dan boleh menghantar maklumat kepada kumpulan paku ini. Perlu diingat bahawa kod setaraf mesti ditetapkan sebagai UTF-8 ketika membuat permintaan POST.

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)  # 休眠一分钟

Apabila robot disinkronkan dengan mesej, ia boleh dimaklumkan dengan menetapkan nombor telefon bimbit @ beberapa ahli dalam kumpulan. Apabila ahli kumpulan @ menerima mesej itu, ia akan diberi peringatan dengan mesej @, walaupun sesi tidak diganggu tetap diberitahu.

# 向钉钉群输出信息
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. Ujian robot

Dalam kod di atas, kami menulis satu contoh untuk mendapatkan harga mata wang digital utama setiap minit dan mendorong maklumat itu ke dalam kumpulan paku:img img


Berkaitan

Lebih lanjut

AllahYang penting, bolehkah orang yang mendorong webhook perusahaan WeChat mendapatkan satu?

Pergerakan gelombang kecilSaya ingin bertanya, sekarang WeChat telah dibatasi, adakah anda masih boleh menolak?