مساعدة:الشروع في العمل مع بيشي

إن كنت تجيد كتابة برامج بلغة PHP وتبحث عن مكتبة لتسهيل التعامل مع ميدياويكي (محركات ويكي) عمومًا أو مواقع ويكيبيديا خصوصًا، فإنك قد تجد في مكتبة بيشي ضالتك.

للبدء في العمل ببوت يعتمد على مكتبة بيشي (Peachy) علیکم إتباع المراحل التالية.

في البداية عليك إنشاء حساب خاص ببوتك واسم هذا الحساب لا بد أن ينتهي بکلمة Bot مثل: ElphiBot,MenoBot (لتمييزه عن غيره من الحسابات العادية للمستخدمين).


ما هو بيشي[عدل]

Peachy هو أرضية لتطوير البوتات مكتوبة بلغة PHP تسمح تطوير سكريبتات بلغة بي اتش بي بصورة ميسرة.


مستلزمات (الخطوة الأولی)[عدل]

تثبيت PHP[عدل]

قبل البدء في التطوير تأكد من أنك :

  • قد قمت بتثبيت PHP على حاسوبك
  • يمكنك تنفيذ الأمر : php
    • جرب الأمر : php    -v

تنزيل بيشي وتغيير الإعدادات[عدل]

المصدر

  1. الموقع الرسمي لبيشي : Git code https://github.com/MW-Peachy/Peachy
  2. فك ضغط الملف
    • ستحصل على مجلد جديد به مجموعة من الملفات (مثل: config.inc.php وغيره) ومجموعة من المجلدات الفرعية (مثل: Configs وغيره)
  3. استحدث ملفا جديدا هو config.local.inc.php يحوي على الإعدادات التي تريدها
    • <?php  $pgDisableUpdates = true; // لتجميد التحديث الآلي لمكتبة بيشي  //For debugging purposes.  فعل هذه الخيارات عند الحاجة فقط  $pgLogGetCommunicationData = false; $pgLogPostCommunicationData = false; $pgLogCommunicationData = false; $pgLogSuccessfulCommunicationData = false; $pgLogFailedCommunicationData = false; 
  4. استحدث ملفًا جديدًا في المجلد Configs تختار له اسمًا (كأن يكون arwiki.cfg) ولا تنس الإضافة .cfg ويكون محتواه شبيهًا بما يلي :
[config] baseurl = "https://ar.wikipedia.org/w/api.php" username = "اسم البوت الذي اخترته" password = "كلمة السر" 

المساعدة[عدل]

الخطوة الثانية[عدل]

تذكر دائمًا[عدل]

بأن المكتبة (Peachy) توفر لك مجموعة من الأصناف (Classes) البرمجية لمساعدتك في كتابة السكريبت الخاص بك. الأصناف هي :

  • Peachy :
    • الصنف القاعدي وتستعمل لتوليد الأصناف الأخرى
  • Page :
    • تمثل الصفحة (آخر نسخة من المقال أو النقاش ...) وتوفر معطيات مثل بيانات حول الصفحة (محتوى - تواريخ - المعدل - ...) وأدوات (مثل تغيير محتوى الصفحة أو نقلها ...)
  • Wiki
    • تمثل الويكي الجاري التعامل معه وتوفر بعض المعطيات عنه.

وغيرها الكثير ولكننا سنكتفي بما ذكر.

وأخيرًا

وإن كان أمرًا غير مفروض إلا أنه مستحسن : استحداث مجلد جديد (يكون اسمه مثلًا MyScripts) نضع في كل ما نكتب من سكريبتات جديدة.

سكريبت بسيط 1 : جلب محتوى صفحة[عدل]

<?php require( '../Init.php' );  $MyWiki = Peachy::newWiki("arwiki"); //Loads the Configs/arwiki.cfg file  $MyPage = $MyWiki->initPage( "test" ); $MyPageTxt = $MyPage->get_text();  echo $MyPageTxt; 

هذا السكريبت يقوم بالاتصال بالويكي مستعملًا البيانات التي سجلت في الملف arwiki.cfg الموجود في المجلد Configs (البيانات هي : عنوان الويكي - اسم البوت - كلمة السر ). ثم البحث عن صفحة عنوانها Test وجلب محتواها ثم عرضه.

والنتيجة هي :

Loading Peachy (version 2.0 xxxx)...  Logging in to https://ar.wikipedia.org/w/api.php...  Successfully logged in to https://ar.wikipedia.org/w/api.php as MyBotName  Getting page info for test..  Getting page content for اختبار (توضيح)..  Getting page history for اختبار (توضيح)..  {{راجع الترجمة}} [[ملف:Arabic books.jpg|تصغير|كتب تدعو القارئ ليختبر نفسه]] == العلوم والتكنولوجيا == كلمة '''اختبار''' قد تشير إلى العديد من المعاني - ويُقال لبعضها '''امتحان''': * [[اختبار دراسي]] يخوضه الطلبة * [[اختبار قبول]] * [[اختبار علمي]] يديره الباحثون.  === الطب === * [[اختبارات وظائف الكبد]]. * [[اختبار الجلكوز]]. * [[اختبارات الذكاء]]. * [[اختبار وظائف الكلى]] === الكيمياء === * [[اختبار كيميائي]] * [[اختبار الأسلحة النووية]].  === أخرى === * [[إختبارات الدفاع الجوي]] * [[اختبارات القياس|اختبار القياس]]: اختبارات إلزامية في [[المملكة العربية السعودية]] يَتوجب تقديمها للالتحاق بالكلية. * [[اختبار لا إتلافي]]: نوع من أنواع الاختبارات في [[تحليل الإخفاق الميكانيكي|تحليل أسباب انهيار]] القطع أو من أجل منع حدوث انهيار القطع في المستقبل وذلك بإجراء الاختيار على القطعة دون إتلافها أو إلحاق أضرار بها.  {{توضيح}}  [[تصنيف:صفحات توضيح]] [[تصنيف:اختبارات]] [[تصنيف:اختبارات لغوية]] 
ملاحظة هامة

في المثال السابق، اتضح بأن الصفحة Test هي تحويلة نحو صفحة أخرى هي «اختبار (توضيح)». ومنه، فإن المحتوى المعروض هو للصفحة «اختبار (توضيح)».

سكريبت بسيط 2 : تغيير محتوى صفحة[عدل]

<?php require( '../Init.php' );  $MyWiki = Peachy::newWiki("arwiki"); //Loads the Configs/arwiki.cfg file  $MyPage = $MyWiki->initPage( "MyTestPage" ); // اسم الصفحة التي ستعدل $MyPageTxt = $MyPage->get_text(); // جلب محتوى الصفحة  $MyNewPageTxt = $MyPageTxt . "\n [[تصنيف:مقالات عدلها البوت]]";  // إضافة سطر جديد في آخر محتوى الصفحة  $MyPage->edit($MyNewPageTxt,"تعديل بوتي");  // تطبيق التعديل بإرسال المحتوى الجديد + تعليق حول هذا التعديل 

هذا السكريبت يقوم على سبيل المثال بجلب محتوى صفحة ثم تعديلها.

الخطوة الثالثة والأخيرة[عدل]

في الأخير يتم تجريب السكريبت على عدد محدود من الصفحات، وذلك لتفادي الأخطاء الواردة وسهولة تدارك الأمر.

ملاحظات ونصائح[عدل]

بديل لموجه الأوامر[عدل]

برنامج ConEmu أثناء تنفيذ أحد أوامر البوت
  • برنامج ConEmu أحد البرامج المجانية البديلة لموجه الأوامر الخاص بالويندوز، يتميز بإمكانية إخراج النص العربي بشكل مقروء أثناء تنفيذ الأوامر بالإضافة للتبويبات المتعددة (كما في الصورة المرفقة)، يمكن تحمله من هذه الصفحة.

(إذا أردت استخدامه فقط قم بتغيير مسار الهدف أثناء خطوة إنشاء الاختصار من cmd.exe إلى C:\Program Files\ConEmu\ConEmu.exe ).

وصلات خارجية[عدل]