[Interopérabilité] Passerelle de groupes WhatsApp vers Matrix

Actuellement, les conversations déjà bridgée sont fonctionnelles, mais le mécanisme pour ajouter une nouvelle liaison entre un groupe whatsapp et un salon matrix est cassé. On a commencé à développer un correctif mercredi dernier (il est presque fini). Je pense que ce week end on trouveras le temps de retirer les derniers bugs.

Une fois que tu as un compte @sans-nuage.fr , ton identifiant matrix est @pseudo:sans-nuage.fr (tu peux préciser le pseudo que tu souhaites dans les commentaires quand tu fais ta demande de compte sans-nuage, sinon on prend le pseudo du compte adhérent).

Avec ce compte tu peux te relier et effectivement inviter ton compte matrix.org. On a mis cette limitation car sinon le service aurait trop de succès pour être porté par un seul numéro de téléphone…

A noter que notre patch, devrait permettre 2 modes:

  • le mode que tu as décris, tu donnes le numéro d’ARN à ton contact
  • un mode où il sera possible d’ajouter un numéro de tel whatsapp via matrix par l’usager sans-nuage.fr directement. Ceci permet d’éviter de demander à ses contacts des choses inhabituelles. Il devrait être aussi possible de créer un groupe whatsapp directement depuis matrix.

Notre système va aussi fonctionner pour signal :slight_smile: (on a même réussi à bridger whatsapp/matrix/signal ensemble, mais il y a un ordre à respecter).

1 « J'aime »

Merci beaucoup pour ta réponse, @ljf, et pour toutes ces infos !

Juste par curiosité : ce bridge que vous écrivez s’appuie sur le bridge existant mautrix-whatsapp ?

Je comprends la limitation imposée (adhérer à ARN et avoir un compte Matrix sur sans-nuage.fr), du coup, pour éviter de saturer votre ligne tel.

Pour moi l’enjeu est suffisamment fort pour que j’adhère à votre asso (qui me semble être une super asso). 99,9% des gens qui utilisent Whatsapp ne comprendront sans doute jamais pourquoi je suis prêt à payer une cotisation à une asso juste pour garder ma vie privée, mais bon, heureusement qu’il y a des gens comme vous qui nous permettent ça.

  • Finalement peu de serveurs Matrix implémentent des bridges, et il n’y a aucun moyen de savoir lesquels (les listes officieuses ne le précisent pas),
  • Et même s’ils implémentent le bridge Whatsapp, il n’y a pas cette possibilité d’interagir avec les utilisateurs Whatsapp sans avoir créé un compte Whatsapp soi-même (et donc divulguer à Facebook son téléphone et ses metadata).

Donc un grand merci pour votre travail : j’attends de vos nouvelles sur la mise en route effective du lien matrix-whatsapp, et je vous rejoindrai alors sans doute ! :slightly_smiling_face:

Et si ça me plait bien et que votre serveur Synapse est suffisamment stable, peut-être bien que je migrerai mon compte dessus :grin:. D’ailleurs, que pensez-vous de l’outil de migration proposé par Element ?

Bonne journée

Oui en fait nous on écris un bot qui complète les fonctionnalités du bridge pour permettre de gérer ça avec un seul numéro de tel pour tout le monde. Pour faire propre faudrait qu’on discute avec le ou la dev de mautrix-whatsapp pour proposer une feature intégrée.

Perso j’ai pas testé et on a pas eu de demande à ce sujet jusqu’ici. Faut essayer.

Salut l’équipe !
Tellement pratique de pouvoir créer un groupe whatsapp à distance via Element.

Par contre j’ai du loupé un truc qq part → quand je veux créer un pont vers Signal, j’ai ce message :

Ce salon n’est pas bridgé avec signal. Demandez à votre contact d’inviter : +33628632232

Or ARN Messager ne peux être invité sur Signal donc je bloque un peu.

Merci pour vos éclaircissements !

Bon hacking !

PS. Comment supprimer un salon chat sans-nuage ? (j’en ais crée un en trop : https://matrix.to/#/!xTKdIlHFfSxpoEfiqr:sans-nuage.fr?via=sans-nuage.fr)

On a un peu pris d’avance sur ARN-Messager, les commandes sont présentes, mais le bridge signal n’est pas encore installé car il faut qu’on migre sans-nuage.fr de Yunohost 4 (debian 10) à Yunohost 11 (debian 11) pour cela.
Ca devrait se faire dans le mois j’espère.

1 « J'aime »

On a présenté la solution ainsi que d’autres aspects des solutions d’interopérabilité en Anglais à Open Tech Will Save us
La vidéo de l’épisode est en ligne (à partir de 50min pour la partie Yunohost/CHATONS/ARN/Matrix.
https://tube.fdn.fr/w/4TBS1tGAWFt5nR7uJhvgLV
Et le lien des slides https://sans-nuage.fr/file/s/fgXnHoSeYRb3B4F/download/opentechwillsaveus-feb2022.html

2 « J'aime »

Bonjour !

Un petit retour sur mon utilisation du bridge whatsapp :

  • Ca marche impeccable !
  • J’ai eu un petit message d’erreur la première fois que j’ai posté un message sur le groupe :
    :warning: Your message was not bridged: websocket disconnected before message send returned response
    Mais après ça a fonctionné.
  • Des personnes du groupe auquel j’ai été invité ont essayé de me contacter en direct, et forcément ça n’a pas marché (ils ont appelé le numéro de tel affiché, celui d’Arn). Y’a moyen de masquer ce numéro, ou de dire de ne pas l’utiliser ?
  • j’ai pu inviter dans le salon Matrix un autre identifiant matrix (le mien) et converser à partir de cet autre identifiant.
  • les utilisateurs Whatsapp sont invités par le robot au groupe Matrix dès qu’ils postent un message sur le groupe Whatsapp, qui les nomme avec leur vrai nom Whatsapp en ajoutant (WA) à la fin.
  • certains utilisateurs n’ont pas de nom, et son affichés avec leur numéro de téléphone : c’est normal ? Ca vient de leur compte Whatsapp qu’ils non pas bien configuré ?

Apparemment, ce qui chagrine les utilisateurs Whatsapp du groupe en question, c’est qu’ils ne peuvent pas dialoguer avec moi directement (parce que je n’ai pas de compte Whatsapp). S’ils essaient de me contacter via Whatsapp ils envoient en fait un message au numéro d’ARN… c’est ça ?

La solution, si je comprends bien, est la suivante :

  1. je crée un salon privé sous Matrix (genre « John wa », mais qui du coup est un « salon » et pas une « personne » sous Matrix), et j’y invite la personne avec une commande !am whatsapp <numéro-de-tel> (mais j’ai cru comprendre qu’il y avait un risque de banissement du numéro de tel d’ARN avec cette méthode - c’est pourtant celle que tu montres, Gaut, dans la visio d’OpenTechWillSaveUs)
  2. soit en demandant à la personne de créer un groupe Whatsapp, d’inviter d’abord le numéro d’ARN et de répondre au robot !am @pseudo:sans-nuage.fr, ce qui créera automatiquement un salon pour moi dans Matrix ?

La méthode 2 est à privilégier si j’ai bien compris, mais elle nécessite que j’aie le contact de la personne en question et que je lui envoie les instructions par mail, sms… Ce qui va nettement réduire le nombre de personnes avec qui je vais pouvoir communiquer sur Whatsapp.

Je ne sais pas si j’ai bien tout compris, donc merci d’avance pour vos avis !

1 « J'aime »

On pourrait mettre un message quelque-part, mais d’expérience les gens ne lisent pas ou ne comprennent pas facilement le concept du robot.

C’est qu’ils n’ont pas renseigné de pseudo dans whatsapp, il faut leur demander de le renseigner.

  1. Ta méthode de contournement marche, pour limiter le risque de banissement tu peux envoyer le lien d’invitation whatsapp pour que la personne rentre dans le salon elle-meme.
  2. Cette méthode n’est pas terrible car il faut que la personne créé un salon whatsapp avec minimum un contact (pas de salon vide possible sous whatsapp), puis dans un second temps invite le numéro d’ARN pour bridger le salon, ensuite elle peut enlever le contact invité. Donc au final il faut qu’elle embete quelqu’un de sympa.

C’est exactement le but de notre bridge, que les gens partent de whatsapp. Il permet de facilement rester en contact avec des groupes whatsapp dans une démarche pour en sortir (pour pas se retrouver seul sur Matrix tout d’un coup). L’utilisation que l’on conseille c’est de privilégier les bons vieux appels et SMS pour les conversations 1 à 1. Toute personne qui a whatsapp a un téléphone mobile, et de nos jours les forfaits non-illimités en sms/appels sont rares. Ou alors utiliser une messagerie plus éthique comme Signal (mais dans ce cas il faut leur faire des dons, pour que leur service puisse continuer à fonctionner).

N’hésite pas à nous dire si tu vois un problème, une difficulté à cette approche!

Si tu veux éviter de multiplier les applications de messagerie tu peux installer l’application android smsmatrix qui relayera tes sms vers ton compte matrix.

Merci Gaut !

Ok, alors juste pour vérifier que j’ai tout compris :

  • je crée un salon privé
  • j’invite le robot ARN-messager dans le salon
  • je lance la commande !am whatsapp, qui :
    • crée un salon whatsapp (lié au numéro d’ARN)
    • me donne à la fin un lien whatsapp vers ce salon
  • j’envoie ce lien (par sms ou mail) à la personne que je souhaite
  • en cliquant sur ce lien, la personne rejoint le salon whatsapp lié au salon Matrix

A partir de là, on peut converser directement ?
(et faut-il mettre cette procédure dans le Wiki?)

Dans cette démarche (qui me semble bonne), la procédure ci-dessus n’est pas vraiment utile alors (créer un groupe privé Whatsapp pour dialoguer en 1 à 1 avec une personne). Si on veut inciter les gens à sortir de Whatsapp, il ne faut pas forcément leur faciliter la vie sur Whatsapp, mais leur offrir une alternative, en plus de rester en lien avec le groupe Whatsapp qu’ils quittent :

  • soit ils dialoguent avec moi sur Matrix en créant un compte Matrix (l’idéal !)
  • soit ils dialoguent avec moi sur Signal, moindre mal (j’ai fini par me créer un compte Signal, bien plus accepté que Matrix)
  • soit ils dialoguent avec moi par sms, de façon non sécurisée, et dépendante du réseau, et sans possibilité d’envoi d’images, conversations voix/vidéo, etc.
  • soit ils le font par mail (idem, non sécurisé sauf s’ils utilisent PGP, et pas d’appels voix/vidéo)

Il faut que Matrix paraisse plus cool que Whatsapp :wink:

Si je comprends bien la démarche que tu proposes : Une fois le groupe Matrix miroir du groupe Whatsapp créé (le vrai groupe, hein, pas la conversation 1 à 1), j’invite peu à peu les utilisateurs du groupe à créer un compte Matrix et à rejoindre le groupe sous Matrix (ils n’ont pas besoin d’adhérer à Arn). S’ils veulent converser avec leurs amis du groupe en 1 à 1 sur Whatsapp, ils reviennent temporairement à Whatsapp.
Mais je ne suis pas sûr que ça fonctionne, car ils n’auront pas les mêmes possibilités que sur Whatsapp (pas possible de contacter leurs amis en direct depuis Matrix, à moins d’être adhérent à ARN et de faire la manip ci-dessus).

Autre possibilité : je crée un groupe Matrix complètement décorrélé du groupe Whatsapp, et j’y invite les gens peu à peu en leur disant que c’est carrément mieux (et je leur dis pourquoi). Pas certain que ça fonctionne non plus, mais c’est la seule alternative que je vois. Il faut que ce groupe s’étoffe pour qu’à un moment donné les gens disent « si je ne rejoins pas ce groupe (en créant un compte Matrix…) je suis un looser et je rate plein d’infos ».
L’enjeu serait alors de créer un groupe avec un intérêt social suffisamment fort pour attirer du monde.

Dans mon patelin, il existe un groupe Whatsapp assez gros (300 utilisateurs), avec de nombreux échanges (vie du village, dons d’objets, échanges de services, solidarité, infos culturelles…). Il marche très bien et personne n’aura envie de le quitter pour un groupe Matrix similaire. Donc il faudrait trouver une idée de groupe avec un sujet complètement différent, mais tout autant attractif.

OU bridger ce groupe (vu que tu es adhérent⋅es tu peux le faire :slight_smile: ET à partir de là tu peux ouvrir le salon pour que les gens qui arrivent sur matrix puissent suivre ce groupe.

Salut !

J’ai l’impression qu’il y a des blocages sur certains brigdes matrix-whatsapp et pas sur d’autres :

  • #asso-campus-a-cultiver-87:sans-nuage.fr est kéblo
  • deux « salons » privés, sans url en réalité, sont bloqués aussi
  • un autre fonctionne (privé aussi)

Bref…

Merci pour le coup de main !
(on est en plein préparatif de festival sur Limoges et je me sert beaucoup de ces conversations :sweat:)

Ca devrait etre résolu. https://forum.arn-fai.net/t/suivi-des-incidents-et-maintenances-majeures/371/81

1 « J'aime »

@denish n’hésite pas à nous faire un retour d’expérience ici sur la nouvelle mouture du bridge.
Perso, je note que les gens qu’on ajoute via la commande pm +33654321 sont invités à une conversation 1à1 par le numéro ARN et recoivent un message flippant. Une amie a failli black-lister le numéro, croyant à du spam. Donc faut revoir cet aspect, envoyer un message rassurant, un lien vers l’explication de ce qu’est ARN-messager.

LOL:

Il faudrait voir si on peut améliorer le fait que quand le bridge est down pendant plusieurs jours, des messages sont perdus. Ca devrait etre possible via les paramètres du bridge #backfill

1 « J'aime »

Re @GautGaut

Merci pour la réparation des bridges.

J’essaye par exemple de créer un salon mirroir whatsapp depuis le salon #transition-limousin:sans-nuage.fr
image
Mais impossible d’avoir le lien vers ce salon whatsapp pour y inviter des utilisateurices, ni leur accorder le statut d’Admin. L’objectif étant que ça soit un salon facilement accessible (c’est un fil d’actu local militant)


toujours bloqué pour signal sinon
et oui le message automatique d’ARN Bot est flippant (même quand on explique au gens ce qu’il va se passer :sweat_smile:)

Tu as les droits admin dans ce salon? Si ca ne marche pas il faudra qu’on fasse une session de debug.

Je suis noté comme Administrateur effectivement

En fait je suppose que le problème c’est que tu essaies de bridger un salon public, alors que ça ne fonctionne qu’avec un salon privé et non-chiffré. J’ai mis à jours la doc.

J’imagine que ça doit être possible de bridger un salon public mais je ne sais pas comment.

Si tu souhaites avoir un salon bridgé par signal+matrix+whatsapp je te conseille d’attendre qu’on ait déployé le bridge signal. Ensuite il faudra créer d’abord un groupe signal, le bridger avec matrix, puis le bridger vers whatsapp, tout ca dans cet ordre. Ensuite tu pourras toujours dire aux gens sur ton salon matrix actuel de migrer vers le nouveau salon.

EDIT: j’ai màj la doc, j’espère que c’est plus clair.

2 « J'aime »

Salut !

J’ai crée un peu pour tester le truc unc conv bridgée signal-element-whatsapp et quelques problématiques :

  • en créant le salon element depuis signal, « @libremax:sans-nuage.fr » n’est pas automatiquement admin
  • comment donner les droits admin à qqn qui est sur whatsapp ?
  • à la créa de la passerelle vers whatsapp, j’ai eut pluiseurs fois ces messages : « Failed to get invite link: websocket disconnected before info query returned response », suite à !wa invite-link → « That command requires you to be logged in »
  • whatsapp Robot a aussi effacé le sujet du salon et l’avatar peu de temps après la créa de passerelle.

Voili voilou. Merci et à la prochaine !

Dans l’ordre de tes questions :

  • effectivement on a remarqué ce problème mais pas trouvé la raison du problème pour l’instant. Peut-être la syntaxe de !sg set-pl qui a changé, ou un upgrade du bridge mautrix-signal qui ne le permet plus.
  • pas possible pour le moment, c’est sur la roadmap du bridge
  • il faudrait rallonger et sleep. Tu peux retaper !am whatsapp pour récupérer le lien d’invitation
  • Le robot whatsapp a effacé le sujet et l’avatar du salon signal sur signal ? Tu peux préciser ce qu’il s’est passé ?

La solution de contournement pour 2. mais qui n’est accessible qu’à un admin du serveur est donnée là
https://github.com/mautrix/whatsapp/issues/202#issuecomment-1030806415
Il s’agit de créer le groupe whatsapp côté whatsapp avec les bons droits puis de connecter ce groupe au salon matrix/signal existant.
Une contribution existe pour permettre ce « plumbing » par de simples utilisateurs mais pas intégrée par les mainteneurs du bridge.