Skip to content

Signal ​

तुमच्या Triggerfish एजंटला Signal शी जोडा जेणेकरून लोक Signal app वरून त्याला message करू शकतात. Adapter तुमच्या linked Signal phone number वापरून signal-cli daemon शी JSON-RPC वर communicate करतो.

Signal कसे वेगळे आहे ​

Signal adapter तुमचा phone number आहे. Telegram किंवा Slack च्या विपरीत जिथे वेगळे bot account असते, Signal messages इतर लोक तुमच्या number वर पाठवतात. याचा अर्थ:

  • सर्व inbound messages मध्ये isOwner: false आहे -- ते नेहमी दुसऱ्या कोणाकडून असतात
  • Adapter तुमच्या phone number म्हणून reply करतो
  • इतर channels सारखी per-message owner check नाही

हे Signal ला त्या contacts कडून messages प्राप्त करण्यासाठी ideal बनवते जे तुमच्या number वर message करतात, एजंट तुमच्या वतीने respond करतो.

Default वर्गीकरण ​

Signal default वर PUBLIC वर्गीकरण आहे. सर्व inbound messages external contacts कडून येत असल्याने, PUBLIC हा safe default आहे.

सेटअप ​

पायरी 1: signal-cli इन्स्टॉल करा ​

signal-cli हा Signal साठी एक third-party command-line client आहे. Triggerfish TCP किंवा Unix socket वर त्याच्याशी communicate करतो.

Linux (native build -- Java आवश्यक नाही):

signal-cli releases page वरून latest native build download करा, किंवा setup दरम्यान Triggerfish ते तुमच्यासाठी download करू द्या.

macOS / इतर platforms (JVM build):

Java 21+ आवश्यक आहे. Java install नसल्यास Triggerfish आपोआप portable JRE download करू शकतो.

तुम्ही guided setup देखील चालवू शकता:

bash
triggerfish config add-channel signal

हे signal-cli साठी तपासते, missing असल्यास download करण्याची offer करते, आणि linking through walk करते.

signal-cli तुमच्या existing Signal account शी linked असणे आवश्यक आहे (desktop app link केल्यासारखे):

bash
signal-cli link -n "Triggerfish"

हे tsdevice: URI print करते. तुमच्या Signal mobile app सह QR code scan करा (Settings > Linked Devices > Link New Device).

पायरी 3: Daemon सुरू करा ​

signal-cli एक background daemon म्हणून चालतो ज्याशी Triggerfish connect होतो:

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

+14155552671 ला E.164 format मध्ये तुमच्या phone number ने replace करा.

पायरी 4: Triggerfish कॉन्फिगर करा ​

तुमच्या triggerfish.yaml मध्ये Signal जोडा:

yaml
channels:
  signal:
    endpoint: "tcp://127.0.0.1:7583"
    account: "+14155552671"
    classification: PUBLIC
OptionTypeRequiredवर्णन
endpointstringहोsignal-cli daemon address (tcp://host:port किंवा unix:///path/to/socket)
accountstringहोतुमचा Signal phone number (E.164 format)
classificationstringनाहीClassification ceiling (default: PUBLIC)
defaultGroupModestringनाहीGroup message handling: always, mentioned-only, owner-only (default: always)
groupsobjectनाहीPer-group configuration overrides
ownerPhonestringनाहीभविष्यातील वापरासाठी reserved
pairingbooleanनाहीSetup दरम्यान pairing mode सक्षम करा

पायरी 5: Triggerfish सुरू करा ​

bash
triggerfish stop && triggerfish start

Connection confirm करण्यासाठी दुसऱ्या Signal user कडून तुमच्या phone number वर message पाठवा.

Group Messages ​

Signal group chats support करतो. तुम्ही एजंट group messages ला कसे respond करतो ते control करू शकता:

Modeवर्तन
alwaysसर्व group messages ला respond करा (default)
mentioned-onlyफक्त phone number किंवा @mention द्वारे mentioned असताना respond करा
owner-onlyGroups मध्ये कधीही respond करू नका

Globally किंवा per-group configure करा:

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

Group IDs base64-encoded identifiers आहेत. ते शोधण्यासाठी triggerfish signal list-groups वापरा किंवा signal-cli documentation तपासा.

Message Chunking ​

Signal ला 4,000-character message limit आहे. यापेक्षा जास्त responses आपोआप अनेक messages मध्ये split केले जातात, readability साठी newlines किंवा spaces वर break करून.

Typing Indicators ​

Adapter एजंट request process करत असताना typing indicators पाठवतो. Reply पाठवल्यावर typing state clear होतो.

Extended Tools ​

Signal adapter अतिरिक्त tools expose करतो:

  • sendTyping / stopTyping -- Manual typing indicator control
  • listGroups -- Account member असलेल्या सर्व Signal groups ची list करा
  • listContacts -- सर्व Signal contacts ची list करा

वर्गीकरण बदलणे ​

yaml
channels:
  signal:
    endpoint: "tcp://127.0.0.1:7583"
    account: "+14155552671"
    classification: INTERNAL

Valid levels: PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.

Daemon restart करा: triggerfish stop && triggerfish start

Reliability Features ​

Signal adapter मध्ये अनेक reliability mechanisms आहेत:

Auto-Reconnection ​

जर signal-cli शी connection drop झाले (network interruption, daemon restart), adapter आपोआप exponential backoff सह reconnect करतो. Manual intervention आवश्यक नाही.

Health Checking ​

Startup वर, Triggerfish JSON-RPC ping probe वापरून existing signal-cli daemon healthy आहे का ते check करतो. Daemon unresponsive असल्यास, ते kill करून आपोआप restart केले जाते.

Version Tracking ​

Triggerfish known-good signal-cli version (currently 0.13.0) track करतो आणि तुमची installed version जुनी असल्यास startup वर warn करतो. Signal-cli version प्रत्येक successful connection वर log केली जाते.

Unix Socket Support ​

TCP endpoints व्यतिरिक्त, adapter Unix domain sockets support करतो:

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

Troubleshooting ​

signal-cli daemon reachable नाही:

  • Daemon चालू आहे का ते verify करा: process तपासा किंवा nc -z 127.0.0.1 7583 try करा
  • signal-cli फक्त IPv4 bind करतो -- localhost नाही, 127.0.0.1 वापरा
  • TCP default port 7583 आहे
  • Triggerfish unhealthy process detect केल्यास daemon auto-restart करेल

Messages येत नाहीत:

  • Device linked आहे का ते confirm करा: Signal mobile app मध्ये Linked Devices तपासा
  • Linking नंतर signal-cli ने किमान एक sync receive केलेले असणे आवश्यक आहे
  • Connection errors साठी logs तपासा: triggerfish logs --tail

Java errors (JVM build only):

  • signal-cli JVM build साठी Java 21+ आवश्यक आहे
  • Check करण्यासाठी java -version run करा
  • Triggerfish setup दरम्यान portable JRE download करू शकतो

Reconnection loops:

  • जर logs मध्ये repeated reconnection attempts दिसत असतील, तर signal-cli daemon crash होत असेल
  • signal-cli च्या स्वतःच्या stderr output मध्ये errors तपासा
  • Fresh daemon सह restart try करा: Triggerfish stop करा, signal-cli kill करा, दोन्ही restart करा