3 votes

Importation des contacts Telegram dans le carnet d'adresses - Android

J'ai un problème assez sérieux. J'ai perdu tous les numéros du répertoire téléphonique en cassant la carte SIM, mais heureusement j'ai vu que la plupart d'entre eux sont stockés sur Telegram. J'ai essayé avec Telegram sur bureau d'exporter tous les contacts et l'opération a été réussie.
Maintenant, comment puis-je les mettre dans le répertoire téléphonique? J'espère qu'il y a une solution, même en commençant une nouvelle procédure à partir de zéro.

La solution ici ne fonctionne pas Synchroniser les contacts Telegram avec les contacts téléphoniques

4voto

basicEntity Points 91

Après avoir exporté tous les contacts avec Export des données Telegram, j'ai créé un script Python qui extrayait tous les contacts du site web généré.
Le script, positionné directement à l'intérieur du dossier Telegram Desktop, est le suivant :

#PREMIER DOSSIER À CHANGER
cheminFichier = 'DataExport_08_12_2018 (2)/lists/contacts.html'

with open(cheminFichier, encoding='utf-8') as f:
    lignes = tuple(l for l in f.readlines())
    with open('csvAConvertir.csv', "w", encoding="utf-8") as fichierSortie:
        fichierSortie.write('nom, téléphone\n')
        for i,l in enumerate(lignes):
            if l.startswith('    

Notez que ce script est destiné aux numéros de téléphone italiens (notez les préfixes qui sont vérifiés dans certaines clauses if) !
Cependant, une fois le dossier modifié et le script exécuté, un fichier appelé csvAConvertir.csv est généré.
Ensuite, ce fichier doit être passé à un programme appelé CVS to VCard, qui se charge de convertir le fichier csv en un fichier vcard.
Ensuite, une fois le fichier vcard généré, il vous suffit de l'ajouter aux contacts google (https://contacts.google.com/ > more > import), et le tour est joué ! Magiquement, vous retrouverez tous les contacts dans le répertoire téléphonique de votre téléphone android !

J'espère avoir été utile.

1voto

Martin Braun Points 170

La réponse de @Memmo est excellente et m'a mis dans la bonne direction. Cependant, le script ne fonctionne plus, car l'indentation change pour les exports de Telegram. De plus, je voulais une version qui fonctionne pour toutes les origines de pays. Mon fichier CSV de sortie peut également être importé dans Google Contacts sans avoir besoin de le convertir en VCard. Voici ma version modifiée :

import re

pathToFile = 'lists/contacts.html'

with open(pathToFile, encoding='utf-8') as f:
    lines = tuple(l for l in f.readlines())
    with open('csvToConvert.csv', "w", encoding="utf-8") as outputFile:
        outputFile.write('Name,Group Membership,Phone 1 - Type,Phone 1 - Value\n')
        for i,l in enumerate(lines):
            if '

L'exportation des données peut être trouvée dans Telegram Desktop dans Paramètres > Avancé. Le script ci-dessus doit être placé dans le dossier Exportation de données résultant et doit être exécuté par Python3.

Ma dernière étape a été de fusionner les contacts en utilisant Merge + sur mon mobile après la synchronisation, car le script créera une entrée par numéro, et non par contact.

0voto

Jaakkonen Points 101

Vous pouvez exporter les contacts Telegram via l'application de bureau en allant dans Paramètres > Avancé > Exporter les données Telegram. Sélectionnez maintenant uniquement les contacts et exportez-les au format JSON.

Vous pouvez ensuite transformer cela en un fichier CSV au format Google Agenda en utilisant l'outil en ligne de commande jq.

jq '[
  # Renommez les champs au format CSV Google Contacts et formatez le numéro de téléphone en remplaçant 00 par +
  .contacts.list[] 
  | .phone_number |= sub("^00"; "+") 
  | .["Given Name"] = .first_name 
  | .["Family Name"] = .last_name 
  | del(.first_name, .last_name) 
  | .["Phone 1 - Type"] = "Mobile" 
  | .["Phone 1 - Value"] = .phone_number
  | del(.phone_number, .date, .date_unixtime)]
  # Convertissez le tableau d'objets en CSV, depuis https://stackoverflow.com/a/71505734/13994822
  | (map(keys) | add | unique) as $cols
  | map(. as $row | $cols | map($row[.])) as $rows 
  | $cols, $rows[]
  | @csv' \
-r "Téléchargements/Telegram Desktop/DataExport_[DATE]/result.json" \
| tee contacts.csv

Cela peut ensuite être importé dans Google Contacts via le bouton d'importation Symbole du bouton d'importation. En date du 15-05-2023, cela se trouve en haut à droite de l'interface de l'application.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X