Skip to content

Signal ​

Connectez votre agent Triggerfish a Signal pour que des personnes puissent lui envoyer des messages depuis l'application Signal. L'adaptateur communique avec un daemon signal-cli via JSON-RPC, en utilisant votre numero de telephone Signal lie.

En quoi Signal est different ​

L'adaptateur Signal est votre numero de telephone. Contrairement a Telegram ou Slack ou un compte bot separe existe, les messages Signal proviennent d'autres personnes vers votre numero. Cela signifie :

  • Tous les messages entrants ont isOwner: false -- ils proviennent toujours de quelqu'un d'autre
  • L'adaptateur repond en tant que votre numero de telephone
  • Il n'y a pas de verification de proprietaire par message comme sur les autres canaux

Cela rend Signal ideal pour recevoir des messages de contacts qui ecrivent a votre numero, avec l'agent repondant en votre nom.

Classification par defaut ​

Signal est par defaut en classification PUBLIC. Puisque tous les messages entrants proviennent de contacts externes, PUBLIC est le defaut securise.

Configuration ​

Etape 1 : Installer signal-cli ​

signal-cli est un client en ligne de commande tiers pour Signal. Triggerfish communique avec lui via un socket TCP ou Unix.

Linux (build natif -- pas besoin de Java) :

Telechargez le dernier build natif depuis la page des releases signal-cli, ou laissez Triggerfish le telecharger pour vous lors de la configuration.

macOS / autres plateformes (build JVM) :

Necessite Java 21+. Triggerfish peut telecharger automatiquement un JRE portable si Java n'est pas installe.

Vous pouvez aussi lancer la configuration guidee :

bash
triggerfish config add-channel signal

Cela verifie la presence de signal-cli, propose de le telecharger s'il est absent et vous guide dans le processus de liaison.

Etape 2 : Lier votre appareil ​

signal-cli doit etre lie a votre compte Signal existant (comme lier une application de bureau) :

bash
signal-cli link -n "Triggerfish"

Cela affiche une URI tsdevice:. Scannez le code QR avec votre application mobile Signal (Parametres > Appareils lies > Lier un nouvel appareil).

Etape 3 : Demarrer le daemon ​

signal-cli s'execute comme un daemon en arriere-plan auquel Triggerfish se connecte :

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

Remplacez +14155552671 par votre numero de telephone au format E.164.

Etape 4 : Configurer Triggerfish ​

Ajoutez Signal a votre triggerfish.yaml :

yaml
channels:
  signal:
    endpoint: "tcp://127.0.0.1:7583"
    account: "+14155552671"
    classification: PUBLIC
OptionTypeRequisDescription
endpointstringOuiAdresse du daemon signal-cli (tcp://hote:port ou unix:///chemin/vers/socket)
accountstringOuiVotre numero de telephone Signal (format E.164)
classificationstringNonPlafond de classification (defaut : PUBLIC)
defaultGroupModestringNonGestion des messages de groupe : always, mentioned-only, owner-only (defaut : always)
groupsobjectNonConfigurations specifiques par groupe
ownerPhonestringNonReserve pour un usage futur
pairingbooleanNonActiver le mode d'appairage lors de la configuration

Etape 5 : Demarrer Triggerfish ​

bash
triggerfish stop && triggerfish start

Envoyez un message a votre numero de telephone depuis un autre utilisateur Signal pour confirmer la connexion.

Messages de groupe ​

Signal prend en charge les discussions de groupe. Vous pouvez controler comment l'agent repond aux messages de groupe :

ModeComportement
alwaysRepondre a tous les messages de groupe (defaut)
mentioned-onlyRepondre uniquement lorsque mentionne par numero de telephone ou @mention
owner-onlyNe jamais repondre dans les groupes

Configurez globalement ou par groupe :

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

Les identifiants de groupe sont encodes en base64. Utilisez triggerfish signal list-groups ou consultez la documentation de signal-cli pour les trouver.

Decoupage des messages ​

Signal a une limite de message de 4 000 caracteres. Les reponses plus longues sont automatiquement decoupees en plusieurs messages, en coupant sur les retours a la ligne ou les espaces pour la lisibilite.

Indicateurs de saisie ​

L'adaptateur envoie des indicateurs de saisie pendant que l'agent traite une requete. L'etat de saisie s'efface lorsque la reponse est envoyee.

Outils supplementaires ​

L'adaptateur Signal expose des outils supplementaires :

  • sendTyping / stopTyping -- Controle manuel des indicateurs de saisie
  • listGroups -- Lister tous les groupes Signal dont le compte est membre
  • listContacts -- Lister tous les contacts Signal

Modification de la classification ​

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

Niveaux valides : PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.

Redemarrez le daemon apres modification : triggerfish stop && triggerfish start

Fonctionnalites de fiabilite ​

L'adaptateur Signal inclut plusieurs mecanismes de fiabilite :

Reconnexion automatique ​

Si la connexion a signal-cli est interrompue (interruption reseau, redemarrage du daemon), l'adaptateur se reconnecte automatiquement avec un backoff exponentiel. Aucune intervention manuelle n'est necessaire.

Verification de sante ​

Au demarrage, Triggerfish verifie si un daemon signal-cli existant est fonctionnel a l'aide d'une sonde ping JSON-RPC. Si le daemon ne repond pas, il est arrete et redemarre automatiquement.

Suivi de version ​

Triggerfish suit la version connue et fonctionnelle de signal-cli (actuellement 0.13.0) et avertit au demarrage si votre version installee est plus ancienne. La version de signal-cli est enregistree a chaque connexion reussie.

Support des sockets Unix ​

En plus des points de terminaison TCP, l'adaptateur prend en charge les sockets de domaine Unix :

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

Depannage ​

Daemon signal-cli inaccessible :

  • Verifiez que le daemon est en cours d'execution : verifiez le processus ou essayez nc -z 127.0.0.1 7583
  • signal-cli se lie en IPv4 uniquement -- utilisez 127.0.0.1, pas localhost
  • Le port TCP par defaut est 7583
  • Triggerfish redemarrera automatiquement le daemon s'il detecte un processus defaillant

Messages non recus :

  • Confirmez que l'appareil est lie : verifiez l'application mobile Signal sous Appareils lies
  • signal-cli doit avoir recu au moins une synchronisation apres la liaison
  • Verifiez les logs pour les erreurs de connexion : triggerfish logs --tail

Erreurs Java (build JVM uniquement) :

  • Le build JVM de signal-cli necessite Java 21+
  • Executez java -version pour verifier
  • Triggerfish peut telecharger un JRE portable lors de la configuration si necessaire

Boucles de reconnexion :

  • Si vous voyez des tentatives de reconnexion repetees dans les logs, le daemon signal-cli est peut-etre en train de planter
  • Verifiez la sortie stderr de signal-cli pour les erreurs
  • Essayez de redemarrer avec un daemon neuf : arretez Triggerfish, tuez signal-cli, redemarrez les deux