web-dev-qa-db-fra.com

Lire l'archive des messages skype

Je souhaite lire mon archive de messages skype en dehors de l'application Skype. Et pouvoir l'exporter d'une manière ou d'une autre (autre que le copier-coller de mes messages) dans la mesure où je peux comprendre que skype ne fournit que 30 jours ou des archives.

Quelqu'un utilise-t-il une application pour archiver/exporter des messages Skype?

28
Mike

Vous pouvez également consulter la base de données de profils de skype (% USERDIR%\Application Data\Skype \% votre nom de profil%\main.db) qui est essentiellement une base de données SQLite et voir ce que vous pouvez en tirer. Si vous utilisez Windows 8 et supérieur le chemin d'accès est % USERDIR%\AppData\Local\Packages\Microsoft.SkypeApp\Localstate \% your_skype_profile_name%\main.db

Je vais vous donner un coup sur les tables:

  • "Conversations" - une conversation
  • "Messages" liés à "Conversations" via le champ convo_id
  • "Chats" - une liste de chats enregistrés, chaque chat est composé de conversations
  • "ChatMembers" - membres de chat (s)

Les tableaux sont assez larges et l'utilisation de certains champs n'est pas si évidente, mais je pense que vous avez compris.

21
AlexS

Allez maintenant, c'est Stackoverflow, passons à la technique, d'accord? Mettons de côté les fichiers jpeg enfantins, les outils de l'interface graphique et le pseudo-code de feuille de calcul et allons au cœur du problème!

[coup de poing]

Source: https://coolaj86.com/articles/searching-skypes-sqlite-database/

Trouvez votre base de données Skype

Vous devez d'abord trouver la base de données skype appropriée pour votre utilisateur:

ls ~/Library/Application\ Support/Skype/

sqlite3 ~/Library/Application\ Support/Skype/<<YOUR_USER_NAME>>/main.db

Apprenez-les Tables Bon!

Vous aurez envie de jeter un œil aux tableaux disponibles et à leurs descriptions:

.tables          " see the short table list
.schema Contacts " all about the Contacts table
.schema Messages " all about the Messages table

Vous aurez probablement besoin d'utiliser le bon vieux 'ctrl+f pour rechercher dans la sortie des éléments comme time, author et username.

Plongez dans les SQL

Ensuite, vous avez plongé dans les SQL ...

" List the 25 most recently contacted contacts
SELECT skypename, lastused_timestamp FROM Contacts ORDER BY lastused_timestamp DESC LIMIT 25;

" List the 100 most recent messages
SELECT id, convo_id, timestamp, type, author, body_xml FROM Messages ORDER BY timestamp DESC LIMIT 100;

" List the 100 most recent conversations (and all participants)
SELECT last_activity_timestamp, identity, type, given_displayname, displayname FROM Conversations ORDER BY last_activity_timestamp DESC LIMIT 100;

" Search for a message with the text 'home'
SELECT author, body_xml FROM Messages WHERE body_xml LIKE '%HOME%' ORDER BY timestamp ASC;

" Search for a contact named 'john'
SELECT (displayname || ' : ' || skypename || ' : ' || fullname) as names FROM Contacts WHERE names LIKE '%JOHN%' ORDER BY lastused_timestamp ASC;

(notez que les commentaires sont avec un ", pas un #)

Notez que

  • Messages fait référence à une ligne de texte telle que "Quoi de neuf?"
  • Conversations fait référence à une collection de messages entre 2 ou plusieurs parties.
  • Je pense que Chats fait référence aux intervalles de temps logiques séparés par des étiquettes comme 'hier', 'il y a 7 jours', '24 mars', etc.
15
CoolAJ86

Je recommande deux façons de procéder:

A. Le moyen le plus simple est d'utiliser Skyperious. Disponible pour Windows, Linux et Mac. Tu peux faire tout ça

enter image description here

Voici la fonction de recherche:

enter image description here

Et voici un exemple de sortie d'une exportation:

enter image description here

B. La manière la plus difficile, mais naturellement plus flexible, est d'installer un navigateur SQLite , tel que celui-ci , et d'exporter les messages vous-même. Vous pouvez voir des informations sur la façon de le faire en consultant cet article , ou vous pouvez également rechercher d'autres articles similaires ( la réponse d'AlexS fournit également des indices ). Vous aurez besoin d'une certaine expérience avec SQL pour utiliser cette option.

7
Gaia

Vérifiez ceci: http://web.archive.org/web/20061019071406/https://developer.skype.com/Docs/ApiDoc/CHAT_object

CHATMESSAGES - list of chatmessage identifiers 
CHATMESSAGES - all messages IDs in this chat, for example CHAT #test_l/$6a072ce5537c4044 CHATMESSAGES 34, 35, 36, 38, 39 
4
mroztn

J'ai eu le même problème avec l'histoire de Skype, chaque corps cherche à jouer autour de cette histoire pour de nombreuses raisons. Je voudrais partager mon expérience avec vous, car je ne suis pas expert mais cela peut aider quelqu'un.

Que vous ayez un ordinateur de bureau ou un appareil intelligent, le fichier Main.db est au cœur de l'historique de Skype, c'est le fichier SqL 3.

Comment l'obtenir?????????????????

1. Bureau:

  1. fermez Skype et recherchez le fichier Main.db dans C:/Users/[your computer username]/App Data/Roaming/Skype/[your Skype Id] (veuillez le consulter pour Win7 et pour XP et autres, vous devez trouver le fichier).

  2. Faites une sauvegarde de ce fichier sur un autre lecteur.

  3. utilisez n'importe quel logiciel SQL comme SQLite ou SQLite Expert ou autre pour ouvrir le fichier en tant que base de données.

  4. dans le menu Données, vous pouvez voir toutes vos informations pour l'historique dans la gauche du programme comme les messages, les appels, les conversations et tant de détails.

  5. vous trouverez le message instantané sortant et entrant dans les messages.

  6. cliquez à droite et allez pour sélectionner la colonne et sélectionnez les colonnes d'intérêt comme le nom d'utilisateur ID body-xml pour le texte du message et l'horodatage.

  7. vous pouvez raccourcir votre sélection en cochant les champs obligatoires.

  8. Cliquez à droite et sélectionnez modifier le texte, puis vous pouvez faire tout ce dont vous avez besoin, ajouter la suppression, etc. pour le champ sélectionné.

  9. vous n'avez pas besoin d'enregistrer quoi que ce soit car il est automatiquement enregistré.

  10. très important pour le pas de temps qu'il utilise différents types de format de date, par exemple vous trouvez l'horodatage 1261610607 pour l'heure de la date 23/12/2009 18:23,

    alors comment pouvez-vous régler l'heure?

    vous pouvez simplement ouvrir une feuille Excel et coller l'équation:

    =IF(H6="","",(H6/86400)+25569+(-5/24))

    et c'est tout.

  11. Maintenant, rouvrez-le à nouveau, consultez l'historique du chat.

2. Pour les appareils intelligents (Ipad comme exemple) :( vous devez utiliser un ordinateur de bureau ou un ordinateur portable pour obtenir de l'aide:

  1. Téléchargez et installez iExplorer pour iPad ou un autre logiciel de navigation.

  2. Connectez votre appareil et vous verrez la plupart de vos fichiers.

  3. Sélectionnez APPs/Skype/Library/App Support/Skype/[your Skype ID].

  4. Envoyez le fichier sur votre bureau en cliquant avec le bouton droit et en exportant le fichier.

  5. répétez les étapes comme indiqué ci-dessus de 2 à 11 comme pour les procédures de bureau.

  6. Après avoir terminé l'édition, fermez la base de données et depuis iExplorer pointez vers votre utilisateur Skype et sélectionnez Add File, Recherchez le fichier modifié et renvoyez-le à l'iPad.

  7. Démarrez Skype et voyez les résultats.

2
Mansour Mordos