Rechercher dans tout l'historique Skype

20

Comment rechercher une chaîne donnée dans tous les historiques de chat?
СTRL + F - recherche à l'intérieur d'un chat, mais j'en ai beaucoup, donc je veux trouver quelque chose dans tous les chats enregistrés?

coms
la source
4
Connaître votre système d'exploitation serait utile!
slhck

Réponses:

24

Dans la liste des contacts ou la liste récente, cliquez simplement sur le contact ou le groupe pour lequel vous souhaitez afficher l'historique des conversations et votre historique des conversations s'affiche.

Le fichier de base de données main.db où tout l'historique de discussion est stocké. main.db est un fichier de base de données SQLite standard et peut être ouvert à l'aide de n'importe quelle application de navigation SQLite. Cependant, il existe une application gratuite, spécialement conçue pour lire les données de chat et d'appel de Skype - SkypeLogView .

Le fichier main.db est enregistré dans l'un des fichiers suivants (selon le système d'exploitation).

Sous Windows 7 +: C:\Users\%USERNAME%\AppData\Roaming\Skype\[Skype User Name]

Sous Windows XP: C:\Documents and Settings\%USERNAME%\Application Data\Skype\[Skype User Name]

Ce qui suit devrait fonctionner sur toutes les versions de Windows, vous pouvez le copier dans l'invite Exécuter:

%APPDATA%\Skype \[Skype User Name]

Sous Mac OS X: Library/Application Support/Skype/[Skype User Name]

Pour l'avenir, vous voudrez peut-être envisager SkyHistory

Dave
la source
2
SkypeLogView - m'aide, outil vraiment sympa.
coms
3
SkyHistory fonctionne toujours avec Skype récent. Merci!
Vadzim
Merci pour les liens vers des outils tiers. Je trouve que la recherche dans Skype est boiteuse - certaines périodes plus anciennes dans le chat sont parfois réduites et Skype les ignore lors de la recherche. Je dois d'abord faire défiler le chat et développer toutes les périodes réduites et seulement alors je peux trouver du texte qui était précédemment caché dans l'une de ces périodes réduites.
JustAMartin du
1
Pensez à le remplacer [USER NAME]par %USERNAME%, afin que votre chemin devienne copiable / collable. De plus, "nom Skype" était ambigu pour moi (je pensais que c'était la version de Skype ou quelque chose O_o), je mettrais à jour "nom d'utilisateur Skype"
Balmipour
1
Il semble que la réponse soit obsolète. Quelqu'un sait-il comment parcourir l'histoire de Skype en 2019?
userlond
7

Skyperious pourrait également valoir le détour. Il a quelques capacités sur SkypeLogView, telles que

  • Importez des contacts d'un fichier CSV vers vos contacts Skype
  • Afficher n'importe quelle table de base de données et exporter leurs données
  • Modifier, ajouter ou supprimer des données dans n'importe quelle table
  • Exécuter des requêtes SQL directes
  • Synchronisez les messages dans deux bases de données Skype: gardez l'historique des discussions à jour sur différents ordinateurs ou restaurez les messages manquants d'anciens fichiers dans celui en cours
  • Statistiques de chat
Keegan
la source
Je viens d'utiliser à nouveau Skyperious pour rechercher un mot que je savais avoir utilisé dans une conversation il y a des années, mais j'ai oublié la personne à qui je parlais. Cela aurait pris du temps si j'avais essayé de cliquer sur chaque nom individuel et de rechercher le terme. Dieu merci.
Jon Grah
7

L'écriture de vos propres requêtes SQL en utilisant par exemple SqliteBrowser pour rechercher la base de données Skype, offre plus de flexibilité et de fonctionnalités que l'utilisation d'un outil spécifique à Skype tiers.

Par exemple, cette requête recherchera une chaîne de texte dans tous vos chats et affichera l'heure (locale) du message, le message lui-même, le nom du chat (s'il a un nom) et qui se trouve dans le bavarder.

select DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime') as postedon, c.displayname as chatname, m.from_dispname as fromuser, m.body_xml as msgtext
from Messages m
INNER JOIN Conversations c ON m.convo_id = c.id
where m.body_xml LIKE '%my text%' --case insensitive
order by m.timestamp DESC
twasbrillig
la source
cela ne fonctionne pas (0 lignes retournées) sur ma version actuelle de Skype (7.33.0.105)
Facundo Colombier
@Facundo: Je viens de l'essayer à nouveau avec 7.34.0.102 et cela fonctionne toujours pour moi. Assurez-vous que la ligne "% my text%" est remplacée par quelque chose que vous recherchez (ou commentez cette ligne).
twasbrillig
@Facundo: J'ai trouvé mon erreur; Je me joignais à la mauvaise table. Veuillez réessayer avec le script mis à jour ci-dessus.
twasbrillig
3

J'ai récemment trouvé un bel outil en ligne pour parcourir l'historique de Skype: http://www.skypebrowser.com

Semble être la meilleure solution si vous n'êtes pas préoccupé par les problèmes de confidentialité.

holdenmcgrohen
la source
1

Les requêtes suivantes sur main.db me conviennent:

Recherche les discussions de groupe

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), c.id, m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE c.type = 2 AND
m.body_xml NOT NULL
ORDER BY m.timestamp ASC

Trouve un chat privé avec votre copain

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE m.body_xml NOT NULL AND
c.identity LIKE '%YOUR.BUDDY.NAME.HERE%' --case insensitive
ORDER BY m.timestamp ASC

Dans un chat privé avec votre copain trouve un mot donné

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE c.identity = 'YOUR.BUDDY.NAME.HERE' AND
m.body_xml NOT NULL AND
m.body_xml LIKE '%YOUR.SEARCHED.WORD.HERE%' --case insensitive
ORDER BY m.timestamp ASC

PS: parfois le nom de votre copain peut être différent de celui affiché dans skype, alors vérifiez d'abord celui-ci:

SELECT identity, displayname FROM conversations

et en prendre un dans la identitycolonne

Wakan Tanka
la source
1

SkyHistory n'a pas fonctionné pour moi - il semble qu'il n'ait pas été conçu pour 68 Mo de journaux Skype:)

L'une des approches les plus puissantes est également très simple - il suffit d'utiliser le client SQLite. Ici, j'ai écrit un manuel simple: http://jehy.ru/articles/2014/05/26/searching-through-skype-history/

Si vous avez plus de 300 contacts et qu'ils ont des conversations qui se chevauchent - vous comprenez qu'il est impossible de trouver quoi que ce soit avec une approche Ctrl + F simple.

Heureusement, Skype utilise la base de données SQLite et nous pouvons nous y connecter directement et y rechercher directement. Vous devez donc:

1) Téléchargez le client SQLite (j'ai utilisé http://sqlitebrowser.org/ mais vous pouvez installer n'importe quel client que vous aimez) 2) Trouvez votre fichier d'historique tel qu'il est décrit sur le site Web de skype:

Maintenez la touche Windows enfoncée La touche Windows de votre clavier, puis appuyez sur R pour afficher la fenêtre Exécuter. Si vous utilisez un appareil à écran tactile sous Windows 8, vous pouvez afficher la fenêtre Exécuter à partir de l'icône Rechercher. Tapez% appdata% \ Skype dans la fenêtre Exécuter et appuyez sur Entrée. Ouvrez le dossier nommé d'après votre nom Skype. Recherchez le fichier main.db dans le dossier, ce fichier est votre historique de discussion.

3) Utilisez votre client SQLite pour ouvrir ce fichier. 4) Ouvrez la table de base de données «messages» 5) Utilisez toutes les requêtes SQL dont vous souhaitez rechercher le message dont vous avez besoin. Voici un exemple de recherche de mot «git» dans les conversations - mais il existe de nombreux champs que vous pouvez utiliser pour rechercher et commander.

Jehy soutientMonicaCellio
la source