Skip to content

Signal ​

Hubungkan ejen Triggerfish anda ke Signal supaya orang boleh menghantar mesej kepadanya dari aplikasi Signal. Penyesuai berkomunikasi dengan daemon signal-cli melalui JSON-RPC, menggunakan nombor telefon Signal anda yang dipautkan.

Perbezaan Signal ​

Penyesuai Signal adalah nombor telefon anda. Tidak seperti Telegram atau Slack di mana akaun bot berasingan wujud, mesej Signal datang daripada orang lain ke nombor anda. Ini bermakna:

  • Semua mesej masuk mempunyai isOwner: false — mereka sentiasa dari orang lain
  • Penyesuai membalas sebagai nombor telefon anda
  • Tiada semakan pemilik per-mesej seperti saluran lain

Ini menjadikan Signal sesuai untuk menerima mesej dari kenalan yang menghantar mesej ke nombor anda, dengan ejen membalas bagi pihak anda.

Pengkelasan Lalai ​

Signal lalai kepada pengkelasan PUBLIC. Memandangkan semua mesej masuk datang dari kenalan luaran, PUBLIC adalah lalai yang selamat.

Persediaan ​

Langkah 1: Pasang signal-cli ​

signal-cli adalah klien baris perintah pihak ketiga untuk Signal. Triggerfish berkomunikasi dengannya melalui soket TCP atau Unix.

Linux (binaan asli — tiada Java diperlukan):

Muat turun binaan asli terbaru dari halaman keluaran signal-cli, atau biarkan Triggerfish memuat turunnya untuk anda semasa persediaan.

macOS / platform lain (binaan JVM):

Memerlukan Java 21+. Triggerfish boleh memuat turun JRE mudah alih secara automatik jika Java tidak dipasang.

Anda juga boleh menjalankan persediaan berpandu:

bash
triggerfish config add-channel signal

Ini memeriksa untuk signal-cli, menawarkan untuk memuat turunnya jika tiada, dan membimbing anda melalui pemautan.

Langkah 2: Pautkan Peranti Anda ​

signal-cli mesti dipautkan ke akaun Signal sedia ada anda (seperti memautkan aplikasi desktop):

bash
signal-cli link -n "Triggerfish"

Ini mencetak URI tsdevice:. Imbas kod QR dengan aplikasi mudah alih Signal anda (Tetapan > Peranti Dipautkan > Pautkan Peranti Baru).

Langkah 3: Mulakan Daemon ​

signal-cli berjalan sebagai daemon latar belakang yang disambungkan oleh Triggerfish:

bash
signal-cli -a +14155552671 daemon --tcp localhost:7583

Gantikan +14155552671 dengan nombor telefon anda dalam format E.164.

Langkah 4: Konfigurasi Triggerfish ​

Tambahkan Signal ke triggerfish.yaml anda:

yaml
channels:
  signal:
    endpoint: "tcp://127.0.0.1:7583"
    account: "+14155552671"
    classification: PUBLIC
PilihanJenisDiperlukanKeterangan
endpointstringYaAlamat daemon signal-cli (tcp://host:port atau unix:///path/to/socket)
accountstringYaNombor telefon Signal anda (format E.164)
classificationstringTidakSiling pengkelasan (lalai: PUBLIC)
defaultGroupModestringTidakPengendalian mesej kumpulan: always, mentioned-only, owner-only (lalai: always)
groupsobjectTidakPenggantian konfigurasi per-kumpulan
ownerPhonestringTidakDikhaskan untuk penggunaan masa hadapan
pairingbooleanTidakDayakan mod padanan semasa persediaan

Langkah 5: Mulakan Triggerfish ​

bash
triggerfish stop && triggerfish start

Hantar mesej ke nombor telefon anda dari pengguna Signal lain untuk mengesahkan sambungan.

Mesej Kumpulan ​

Signal menyokong sembang kumpulan. Anda boleh mengawal cara ejen membalas mesej kumpulan:

ModTingkah Laku
alwaysBalas kepada semua mesej kumpulan (lalai)
mentioned-onlyHanya balas apabila disebut melalui nombor telefon atau @sebutan
owner-onlyTidak pernah balas dalam kumpulan

Konfigurasi secara global atau per-kumpulan:

yaml
channels:
  signal:
    endpoint: "tcp://127.0.0.1:7583"
    account: "+14155552671"
    defaultGroupMode: mentioned-only
    groups:
      "your-group-id":
        mode: always
        classification: INTERNAL

ID kumpulan adalah pengecam berkod base64. Gunakan triggerfish signal list-groups atau semak dokumentasi signal-cli untuk mencarinya.

Potongan Mesej ​

Signal mempunyai had mesej 4,000 aksara. Respons yang lebih panjang daripada ini secara automatik dipecah menjadi berbilang mesej, membelah pada baris baharu atau ruang untuk kebolehbacaan.

Petunjuk Menaip ​

Penyesuai menghantar petunjuk menaip semasa ejen memproses permintaan. Keadaan menaip dikosongkan apabila balasan dihantar.

Alat Lanjutan ​

Penyesuai Signal mendedahkan alat tambahan:

  • sendTyping / stopTyping — Kawalan petunjuk menaip manual
  • listGroups — Senaraikan semua kumpulan Signal yang akaun tersebut menjadi ahli
  • listContacts — Senaraikan semua kenalan Signal
yaml
channels:
  signal:
    endpoint: "tcp://127.0.0.1:7583"
    account: "+14155552671"
    classification: INTERNAL

Tahap yang sah: PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.

Mulakan semula daemon selepas menukar: triggerfish stop && triggerfish start

Ciri Kebolehpercayaan ​

Penyesuai Signal merangkumi beberapa mekanisme kebolehpercayaan:

Sambung Semula Automatik ​

Jika sambungan ke signal-cli terputus (gangguan rangkaian, permulaan semula daemon), penyesuai secara automatik menyambung semula dengan backoff eksponen. Tiada campur tangan manual diperlukan.

Pemeriksaan Kesihatan ​

Semasa permulaan, Triggerfish memeriksa sama ada daemon signal-cli sedia ada sihat menggunakan probe ping JSON-RPC. Jika daemon tidak responsif, ia dimatikan dan dimulakan semula secara automatik.

Penjejakan Versi ​

Triggerfish menjejak versi signal-cli yang diketahui baik (pada masa ini 0.13.0) dan memberi amaran semasa permulaan jika versi yang dipasang anda lebih lama. Versi signal-cli direkodkan pada setiap sambungan yang berjaya.

Sokongan Soket Unix ​

Sebagai tambahan kepada titik akhir TCP, penyesuai menyokong soket domain Unix:

yaml
channels:
  signal:
    endpoint: "unix:///run/signal-cli/socket"
    account: "+14155552671"

Penyelesaian Masalah ​

Daemon signal-cli tidak boleh dicapai:

  • Sahkan daemon sedang berjalan: semak proses atau cuba nc -z 127.0.0.1 7583
  • signal-cli mengikat IPv4 sahaja — gunakan 127.0.0.1, bukan localhost
  • Port TCP lalai ialah 7583
  • Triggerfish akan memulakan semula daemon secara automatik jika mengesan proses yang tidak sihat

Mesej tidak tiba:

  • Sahkan peranti dipautkan: semak aplikasi mudah alih Signal di bawah Peranti Dipautkan
  • signal-cli mesti telah menerima sekurang-kurangnya satu penyegerakan selepas pemautan
  • Semak log untuk ralat sambungan: triggerfish logs --tail

Ralat Java (binaan JVM sahaja):

  • Binaan JVM signal-cli memerlukan Java 21+
  • Jalankan java -version untuk memeriksa
  • Triggerfish boleh memuat turun JRE mudah alih semasa persediaan jika diperlukan

Gelung sambung semula:

  • Jika anda melihat percubaan sambung semula berulang dalam log, daemon signal-cli mungkin ranap
  • Semak output stderr signal-cli sendiri untuk ralat
  • Cuba mulakan semula dengan daemon segar: hentikan Triggerfish, matikan signal-cli, mulakan semula kedua-duanya