Aller au contenu principal

Plateformes de messagerie

Les canaux de messagerie vous permettent de parler au Gateway résident Anyy depuis les services que vous utilisez déjà. Chaque compte configuré possède son profil de connexion, ses identifiants et sa règle d’accès privé/de groupe.

Plateformes prises en charge​

Le catalogue actuel des canaux implémente :

PlateformeConnexion
TelegramInterrogation longue Bot API
DiscordBot Gateway
SlackSocket Mode
WhatsAppWebhook Business Cloud API
FacebookWebhook Messenger
E-mailRéception IMAP et envoi SMTP sur TLS
SMSWebhook Twilio et REST
DingTalkConnexion Stream
Feishu / LarkConnexion longue par défaut ; mise à jour possible des comptes webhook existants
Weixin / WeChatInterrogation longue confirmée par QR
QQ BotGateway WebSocket
IRCTLS et SASL
LINEWebhook Messaging API

L’assistant de configuration est le catalogue de référence de la version installée. Les entrées qu’il marque comme non prises en charge ne peuvent pas être activées en ajoutant une configuration devinée.

Configuration rapide​

Démarrez le Gateway résident du profil sélectionné, puis ouvrez l’assistant interactif des canaux :

anyy gateway start
anyy setup channel

L’assistant lit le catalogue du Gateway actif. Choisissez la plateforme et remplissez les champs effectivement proposés, y compris les règles CLI ; vérifiez le récapitulatif avant d’écrire. Il utilise le profil de connexion par défaut d’une plateforme non configurée et n’offre pas de sélecteur général de changement de profil. Les interfaces actuelles créent un compte uniquement si la plateforme n’en possède aucun ; sinon elles mettent à jour le compte existant.

Dans un terminal non interactif, la commande sans plateforme affiche le catalogue. Ajouter un nom de plateforme sélectionne la configuration non interactive : anyy setup channel telegram n’ouvre pas un assistant propre à Telegram. Gardez le Gateway résident disponible pour la configuration comme pour la messagerie.

Vérifier d’abord la conversation locale

Configurez et testez le modèle principal dans Dashboard ou la TUI avant d’ajouter un canal. Vous séparerez ainsi les problèmes de modèle/fournisseur des problèmes de connexion de messagerie.

Configuration Dashboard​

Ouvrez Dashboard → Channel pour voir les comptes enregistrés et les types de plateformes disponibles. « Configured » signifie enregistré dans ce profil, sans garantir une connexion active. Vous pouvez :

  • ajouter un compte ;
  • utiliser l’entrée de configuration par défaut de la plateforme ;
  • saisir les champs non secrets et les identifiants ;
  • modifier les champs exposés par l’action Dashboard du compte ;
  • consulter ses détails et son état de santé ;
  • recharger les canaux ;
  • supprimer une connexion.

Weixin / WeChat propose dans Dashboard la connexion QR et un formulaire d’accès des expéditeurs pour le compte lié. Les formulaires d’identifiants Dashboard/TUI des autres plateformes n’exposent pas les règles privées/groupes de la CLI. Utilisez anyy setup channel dans un terminal interactif pour les modifier. Le catalogue peut déclarer des actions qu’une interface donnée n’offre pas ; le basculement Feishu en est un exemple.

Accès et association​

Les profils de canal peuvent proposer l’accès ouvert, l’association, les listes d’autorisation, l’accès aux groupes uniquement sur mention ou la désactivation des entrées. Les choix disponibles dépendent du contrat de la plateforme.

Les champs actuels des listes d’expéditeurs sont disponibles dans les formulaires d’accès Weixin lié et dans l’assistant CLI IRC. Les autres listes d’expéditeurs/groupes fonctionnent si elles existent déjà, mais les actions actuelles n’en modifient pas les entrées. Choisir allowlist ne remplit aucune liste ; une liste vide ou sans correspondance refuse l’expéditeur. Ne devinez pas de clés --set supplémentaires et ne modifiez pas state.db.

La CLI gère les demandes d’association ; la page Channel actuelle de Dashboard ne dispose pas de liste d’approbation. Listez les demandes en attente :

anyy channel pairing list

Approuvez ou rejetez par identifiant de demande :

anyy channel pairing approve --request REQUEST_ID
anyy channel pairing reject --request REQUEST_ID

Approuvez la demande d’un expéditeur avec un code saisi de manière interactive :

anyy channel pairing approve --prompt-code \
--channel telegram --account personal

Révoquez une autorisation existante :

anyy channel pairing revoke --grant GRANT_ID --reason "access removed"
L’association donne accès à votre assistant

Vérifiez la personne/le compte et la plateforme avant d’approuver. Une autorisation peut ouvrir l’accès aux conversations et aux capacités activées de l’assistant selon la règle du canal.

Périmètre des conversations​

Anyy réutilise une session liée pour la même route actuelle de compte, correspondant et fil. Les salons partagés partagent le contexte de conversation. Le contexte de réponse varie selon la plateforme : Slack et Discord conservent leurs fils, tandis que les routes WhatsApp et Email actuelles utilisent aussi les identifiants des messages entrants. Les messages d’un même contact ne partagent donc pas systématiquement une seule session Anyy.

/new crée une session neuve pour la route actuelle ; /stop interrompt son exécution active. L’échec d’une réponse de commande n’annule pas une action locale validée. Recréer un compte ou changer son identité n’autorise pas une connexion de remplacement à rejouer les anciennes réponses.

Santé et rechargement​

Inspectez une plateforme :

anyy channel doctor telegram

Rechargez la configuration des canaux dans le Gateway actif :

anyy channel reload

Ajoutez --json aux commandes compatibles doctor, pairing-list ou reload lorsqu’un autre programme a besoin d’une sortie structurée. Un reçu d’action locale, une capacité déclarée par un adaptateur et une livraison observée sont des faits distincts. Le catalogue livré peut qualifier un profil exécutable de préversion ; testez le compte réel et chacune des capacités nécessaires.

L’acceptation par la plateforme ne prouve pas la lecture par le destinataire. Un envoi sans accusé peut rester sent_unconfirmed. Les nouvelles réponses finales ne sont réessayées que si l’échec est reconnu sans risque avant tout effet externe ; les envois partiels ou incertains ne sont pas répétés intégralement automatiquement. Consultez la conversation avant de demander une autre copie. Le rechargement réconcilie les comptes actuels sans rejouer l’historique.

Configuration non interactive​

L’automatisation peut configurer une plateforme avec le contrat d’action des canaux :

anyy setup channel CHANNEL \
[--set INPUT=VALUE] \
[--sensitive-fd INPUT=FD] \
[--external-locator-fd INPUT=FD]

Un compte Telegram déjà configuré peut par exemple modifier sa règle avec anyy setup channel telegram --set dm_policy=pairing --set group_policy=mention. Créer un compte exige également les identifiants déclarés.

Utilisez --set pour les entrées non secrètes. Pour les identifiants, utilisez --sensitive-fd avec un descripteur ouvert dédié de numéro 3 ou supérieur afin d’éviter leur présence dans les arguments de processus ou l’historique du shell. --external-locator-fd fournit les emplacements de secrets gérés à l’extérieur lorsque l’entrée sélectionnée le permet.

Les identifiants exacts des entrées sont définis par la plateforme/le profil sélectionné et indiqués par sa configuration. Ne déduisez pas les noms de champs d’un autre canal.

Plateformes à webhook​

WhatsApp, Facebook, SMS, LINE et le profil webhook Feishu exigent une livraison entrante par webhook. Leur contrat de configuration demande les champs de rappel et identifiants de vérification propres à la plateforme.

L’écoute webhook partagée est désactivée par défaut. Activez-la dans config.yaml du profil sélectionné :

channel_webhooks:
enabled: true
listen: 127.0.0.1:8770

Redémarrez le Gateway après modification de ce paramètre de démarrage. anyy channel reload seul ne démarre pas une écoute précédemment désactivée. Faites passer le chemin exact /channels/PLATFORM/ACCOUNT_ID/webhook de la plateforme en HTTPS vers cette écoute, pas vers le port Dashboard. Conservez le corps et les en-têtes de signature, protégez les secrets de vérification et complétez les abonnements/autorisations de la plateforme. Twilio vérifie également l’URL publique d’origine.

Dépannage​

ProblèmeSolution
Le compte s’enregistre mais ne reçoit jamaisLancez anyy gateway status et anyy channel doctor CHANNEL
Un canal à interrogation longue/WebSocket se déconnecteCorrigez les identifiants/l’accès réseau, puis anyy channel reload
Échec de vérification du webhookVérifiez le routage HTTPS public, l’URL de rappel, le secret de signature et l’abonnement plateforme
Message privé ignoréVérifiez règle privée, association et liste d’autorisation
Message de groupe ignoréVérifiez règle de groupe et mention obligatoire éventuelle
Mauvaise personne associéeRévoquez immédiatement l’autorisation et vérifiez les accès en attente/actifs