سؤال

أرغب في قراءة أرشيف رسائل Skype خارج تطبيق Skype. وتكون قادرة على تصديرها في نوع ما (بخلاف نسخها لصقها من رسائلي) بقدر ما يمكنني معرفة Skype فقط يوفر 30 يوما أو أرشيفا.

أي واحد هناك باستخدام تطبيق لأرشفة / تصدير رسائل Skype؟

هل كانت مفيدة؟

المحلول

يمكنك أيضا أن ننظر إلى قاعدة بيانات Skype الشخصي (٪ UserDir٪ بيانات التطبيق Skype ٪ اسم ملف التعريف الخاص بك٪ Main.db) وهي أساسا قاعدة بيانات SQLite وشاهد ما يمكنك الحصول عليه منه. إذا كنت تستخدم ويندوز 8 وما فوق الطريق ٪ UserDir٪ appdata local packages microsoft.skypeapp localstate ٪ your_skype_profile_name٪ main.db

سأقدم لك ضربة حول الطاولات:

  • "محادثات" - محادثة
  • "الرسائل" المرتبطة ب "المحادثات" عبر حقل COLDO_ID
  • "الدردشة" - قائمة بالدراجات المحفوظة، تتكون كل دردشة من محادثات
  • "ChatMembers" - أعضاء الدردشة

الجداول واسعة جدا واستخدام بعض الحقول ليست واضحة، لكنني أعتقد أنك تحصل على الفكرة.

نصائح أخرى

هيا الآن، هذا هو stackoverflow، دعنا نحصل على تقنية، هل؟ دعنا نضع بعيدا عن jpegs jpegs، واجهة المستخدم الرسومية، وأدوات جدول البيانات، والوصول إلى قلب المشكلة!

عثرة قبضة

مصدر: https://coolaj86.com/articles/searching-skypes-sqlite-database/

ابحث عن Skype DB

أولا، عليك العثور على Skype DB الصحيح لمستخدمك:

ls ~/Library/Application\ Support/Skype/

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

تعلم لهم الجداول جيدة!

سترغب في إلقاء نظرة على الجداول المتاحة، وأوصافها:

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

ربما تحتاج إلى استخدام OL الجيد " ctrl+f للبحث في الإخراج لأشياء مثل time, author, ، و username.

الغوص في sqls

ثم غوتستا الغوص في SQLS ...

" 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;

(ملاحظة التعليقات هي مع "، وليس #)

لاحظ أن

  • Messages يشير إلى خط نص مثل "ما الأمر؟"
  • Conversations يشير إلى مجموعة من الرسائل بين 2 أو أكثر من الأطراف.
  • أظن Chats يشير إلى الثغرات الزمنية المنطقية مفصولة بالملصقات مثل "أمس"، "منذ 7 أيام"، "24 مارس"، إلخ

أوصي بطريقتين للقيام بذلك:

أ. أسهل طريقة هي استخدام skyperious.. وبعد متوفر لنظام التشغيل Windows، Linux و Mac. يمكنك أن تفعل كل هذا

enter image description here

هذه هي وظيفة البحث:

enter image description here

وهنا إخراج عينة من تصدير:

enter image description here

ب. الطريقة الصعبة، ولكن بشكل طبيعي أكثر مرونة، هي تثبيت متصفح SQLite, ، مثل هذا, وتصدير الرسائل بنفسك. يمكنك رؤية بعض المعلومات حول كيفية القيام بذلك من خلال النظر في هذه المقالة, ، أو يمكنك أيضا البحث عن مقالات أخرى مماثلة (توفر إجابة exts أيضا أدلة). ستحتاج إلى بعض الخبرة مع SQL لاستخدام هذا الخيار.

تحقق من هذا: 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 

كان لدي نفس المشكلة مع تاريخ سكايب، كل هيئة تتطلع إلى اللعب حول هذا التاريخ لأسباب كثيرة. أرغب في مشاركة تجربتي معك، لأنني لست متمرسا، لكن هذا قد يساعد شخص ما.

سواء كان لديك جهاز سطح مكتب أو جهاز ذكي، Main.db الملف هو جوهر سجل Skype، وهو ملف SQL 3.

كيف يمكن الحصول عليها؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

1. سطح المكتب:

  1. أغلق Skype وابحث عن الملف Main.db في C:/Users/[your computer username]/App Data/Roaming/Skype/[your Skype Id] (يرجى مراجعة هذا ل Win7، وإلى XP وغيرها، لديك للعثور على الملف).

  2. قم بعمل نسخة احتياطية لهذا الملف في محرك أقراص آخر.

  3. استخدم أي برنامج SQL مثل SQLite أو SQLite Expert أو غيره لفتح الملف كقاعدة بيانات.

  4. في قائمة البيانات، يمكنك رؤية جميع معلوماتك للتاريخ في يسار البرنامج مثل الرسائل والمكالمات والمحادثات والكثير من التفاصيل.

  5. ستجد رسالة IM المنتهية ولايته الواردة في الرسائل.

  6. انقر فوق اليمين والانتقال إلى تحديد العمود وحدد أعمدة الفائدة مثل اسم مستخدم معرف الجسم XML لنص الرسالة والوقت الزمني.

  7. يمكنك تقصير اختيارك باستخدام الحقول المطلوبة.

  8. انقر فوق اليمين وحدد تحرير النص ثم يمكنك القيام بكل ما تحتاجه، وإضافة حذف، وما إلى ذلك للحقل المحدد.

  9. لا تحتاج إلى حفظ أي شيء لأنه حفظ تلقائيا.

  10. مهم جدا للخطوة الزمنية أنه يستخدم تنسيق نوع آخر من تاريخ، على سبيل المثال، تجد TimeStamp 1261610607 لوقت التاريخ 23/12/2009 18:23،

    فكيف يمكنك ضبط الوقت؟

    يمكنك ببساطة فتح ورقة Excel ولصق المعادلة:

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

    و هذا كل شيء.

  11. بعد إعادة فتحها مرة أخرى، انظر تاريخ الدردشة.

2. للأجهزة الذكية (iPad كمثال) :( عليك استخدام سطح المكتب أو الكمبيوتر المحمول للحصول على المساعدة:

  1. قم بتنزيل وتثبيت iExplorer لباد أو بعض برامج التصفح الأخرى.

  2. قم بتوصيل جهازك وسترى معظم ملفاتك.

  3. يختار APPs/Skype/Library/App Support/Skype/[your Skype ID].

  4. إرسال الملف إلى سطح المكتب الخاص بك من خلال النقر على الملف الصحيح والتصدير.

  5. كرر الخطوات كما هو موضح أعلاه من 2 - 11 مثل لإجراءات سطح المكتب.

  6. بعد الانتهاء من التحرير أغلق قاعدة البيانات ومن أشر إلى iExplorer إلى مستخدم Skype الخاص بك وحدد Add File, والوصول إلى الملف المعدل وإرساله مرة أخرى إلى iPad.

  7. ابدأ Skype وانظر النتائج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top