3 votos

Importando los contactos de Telegram en la agenda telefónica - Android

Tengo un problema bastante serio. Perdí todos los números en la agenda telefónica al romper la tarjeta SIM, pero por suerte vi que la mayoría de ellos están guardados en telegram. Intenté con telegram desktop exportar todos los contactos y la operación fue exitosa.
Ahora, ¿cómo puedo ponerlos en la agenda telefónica? Espero que haya una solución, incluso comenzando un nuevo procedimiento desde cero.

La solución aquí no funciona Sincronizar contactos de Telegram con contactos telefónicos

4voto

basicEntity Puntos 91

Después de exportar todos los contactos con Exportar datos de Telegram, creé un script en Python que extrajo todos los contactos del sitio web generado.
El script, ubicado directamente dentro de la carpeta Telegram Desktop, es el siguiente:

#PRIMERA CARPETA A CAMBIAR
pathToFile = 'DataExport_08_12_2018 (2)/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('nombre, teléfono\n')
        for i,l in enumerate(lines):
            if l.startswith('    

Tenga en cuenta que este script está dirigido a los números de teléfono italianos (¡note los prefijos que se verifican en algunas cláusulas if)!
Sin embargo, una vez que se modifica la carpeta y se ejecuta el script, se genera un archivo llamado csvToConvert.csv.
Posteriormente, este archivo debe pasarse a un programa llamado CSV a VCard, que se encarga de convertir el archivo csv en un archivo vcard.
Luego, una vez que se genera el archivo vcard, simplemente ingréselo en los contactos de Google (https://contacts.google.com/ > más > importar), ¡y listo! ¡Mágicamente encontrarás todos los contactos en la agenda telefónica de tu teléfono Android!

Espero haber sido útil.

0 votos

Eres bienvenido a usar y contribuir al sitio :)

1 votos

¡Estoy muy orgulloso de esto! ¡Hoy haré lo mismo en Stack Overflow! ¡Tengo algunas preguntas a las que me gustaría responder! :)

1voto

Martin Braun Puntos 148

La respuesta de @Memmo es genial y me puso en la dirección correcta. Sin embargo, el script ya no funciona, porque la indentación estaba cambiando para las exportaciones de Telegram. Además, quería una versión que funcione para todos los orígenes de país. Mi CSV de salida también se puede importar a Google Contacts sin la necesidad de convertirlo a VCard. Aquí está mi versión modificada:

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 '

La exportación de datos se puede encontrar en Telegram Desktop en Configuración > Avanzado. El script anterior debe estar ubicado en la carpeta de Exportación de Datos resultante y debe ejecutarse con Python3.

Mi último paso fue fusionar los contactos usando Merge + en mi móvil después de la sincronización, porque el script creará una entrada por número, no por contacto.

0voto

Jaakkonen Puntos 101

Puedes exportar los contactos de Telegram a través de la aplicación de escritorio yendo a Configuración > Avanzado > Exportar datos de Telegram. Ahora selecciona solo contactos y exporta como JSON.

Ahora puedes transformar esto en un archivo CSV con formato de Google Calendar usando la herramienta de línea de comandos jq.

jq '[
  # Renombra los campos al formato CSV de Google Contactos y formatea el número de teléfono que comienza con 00 a +
  .contacts.list[] 
  | .phone_number |= sub("^00"; "+") 
  | .["Nombre"] = .first_name 
  | .["Apellido"] = .last_name 
  | del(.first_name, .last_name) 
  | .["Teléfono 1 - Tipo"] = "Móvil" 
  | .["Teléfono 1 - Valor"] = .phone_number
  | del(.phone_number, .date, .date_unixtime)]
  # Convierte el array de objetos a CSV, de https://stackoverflow.com/a/71505734/13994822
  | (map(keys) | add | unique) as $cols
  | map(. as $row | $cols | map($row[.])) as $rows 
  | $cols, $rows[]
  | @csv' \
-r "Descargas/Telegram Desktop/DataExport_[FECHA]/resultado.json" \
| tee contactos.csv

Esto luego se puede importar en Contactos de Google a través del botón de importación Símbolo del botón de importación. A partir del 15 de mayo de 2023, esto está en la parte superior derecha de la interfaz de la aplicación.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X