ויקימסע:בוט

בוט הוא כלי אוטומטי לביצוע משימות חוזרות ונשנות המסייע בתחזוקת 2,451 המדריכים הקיימים בויקימסע העברי. ישנם גם בוטים הבודקים דפים ומצביעים על בעיות, ואת תיקונן הם משאירים לאדם.

מפעילי בוטים חייבים להיות זהירים במיוחד בעת הפעלת בוט במרחב הראשי וזאת משום שתמיד צריך לקחת בחשבון שהבוט עלול להכיל קוד שגוי שיגרום לבעיות שונות במרחב הראשי - לדוגמה, במקרה בו בוט עם סקריפט שגוי יוסיף בממוצע שגיאה אחת למדריך אחד מתוך כל 20 מדריכים שהוא עובד עליהם, משמעות הדבר תהיה שהבוט הוסיף בסביבות 100 שגיאות למרחב הראשי אם הוא עבר על אלפיים מדריכים בסך הכל. משום כך חשוב שהמפעיל של הבוט יהיה בעל אחריות רבה ועם מיומנויות טכניות גבוהות, בנוסף לכך שצריך להיות קונצנזוס בקרב הקהילה שניתן לתת אמון באותו המשתמש להפעיל בוט בויקימסע העברי.

בוטים פעילים בוויקימסע העברי

עריכה

בוטים מקומיים

עריכה
הבוטקישוריםמפעיל הבוטתיאור / מטרה
DekelEBot(שיחהתרומותחסימה)DL3222בוט המשמש לביצוע עריכות אוטומטיות או אוטומטיות למחצה על בסיס סקירפטים במיזם pywikibot וכן סקריפטים עצמאיים.
JunkieBot(שיחהתרומותחסימה)JunkieBotבוט המשמש לביצוע עריכות אוטומטיות או אוטומטיות למחצה על בסיס סקריפטים במיזם pywikibot.

בוטים גלובליים

עריכה
הבוטקישוריםמפעיל הבוטתיאור / מטרה
CommonsDelinker(שיחהתרומותחסימה)קרן ויקימדיהבוט המשמש להסרת תחביר הויקי של קובצי תמונה שהוסרו מויקישיתוף בכל אתרי קרן ויקימדיה בהם נעשה שימוש בתמונה.
Maintenance script(שיחהתרומותחסימה)קרן ויקימדיהבוט המשמש לשינוי שמות משתמש באופן גלובלי
MediaWiki default(שיחהתרומותחסימה)קרן ויקימדיהבוט המשמש לעדכון גלובלי של הקובץ rebuildmessages.php בכל אתרי קרן ויקימדיה עם הודעות הממשק העדכניות ביותר.
MediaWiki message delivery(שיחהתרומותחסימה)קרן ויקימדיהבוט המשמש את קרן ויקימדיה לפרסום הודעות בכל אתרי קרן ויקימדיה

סקריפטים מיובאים בולטים

עריכה
  • בוט ההחלפות - מטפל בהאחדת כתיב ובתיקון שגיאות כתיב נפוצות.

מטלות אותן בוטים מסוגלים לבצע

עריכה
דף מורחב – mw:Manual:Pywikibot/Scripts
דוגמה לאחד הסקריפטים של מיזם pywikibot הכתוב בשפת פייתון

בתאוריה, אם ניתן לתאר כיצד יש לבצע את המטלה באמצעות אלגוריתם ניתן לתכנת בוט שיבצע באופן עצמאי את המטלה. ישנן מטלות מסוימות שדורשות פיקוח של מפעיל אנושי על אף שהן מבוצעות מהר יותר על ידי בוט.

במסגרת מיזם pywikibot פותחו לאורך השנים סקריפטים שונים באמצעות שפת התכנות פייתון סקריפט שונים אשר מסוגלים לבצע פעולות שונות באתרי ויקי הפועלים על מערכת MediaWiki. הסקריפטים כוללים בין היתר מספר בוטים שמסוגלים לבצע מספר רב של מטלות. מרבית הבוטים באתרי קרן ויקימדיה נוצרו במסגרת מיזם pywikibot.

כמה מהסקריפטים/פונקציות השימושיים ביותר אשר זמינים במיזם pywikibot הם:

  • בוט שתוכנן לעבוד במרחב הקטגוריות ( category.py ) המסוגל לבצע את המטלות הבאות:
  • להוסיף רשימת דפים לקטגוריה
  • להסיר רשימת דפים מקטגוריה
  • להעביר רשימת דפים מקטגוריה אחת לאחרת
  • בוט שתוכנן לבדוק שהקישורים החיצוניים שמופיעים בקבוצת דפים מוגדרת (או בכל מדריכי ויקימסע) עודם פועלים ( check_extern.py ). על אף שהבוט איננו מבטל את הקישורים השבורים, הוא מסוגל לייצר דו"ח מפורט המציג את כל הקישורים השבורים שיש לתקן באופן ידני.
  • בוט שתוכנן לתקן הפניות ( redirect.py ) המסוגל לבצע את המטלות הבאות:
  • לתקן הפניות כפולות באופן אוטומטי על סמך הרשימה שנמצאת בדף מיוחד:הפניות_כפולות
  • למחוק דפים עם הפניות לדפים שאינם קיימים (רק אם לחשבון הבוט יש הרשאות מפעיל מערכת).
  • בוט שתוכנן להחליף מחרוזות טקסט על פי ביטוי רגולרי ( replace.py ). שימושי במיוחד לתיקון שגיאות כתיב או ליישום שינויים בתחביר ויקי.
  • בוט שתוכנן לתקן קישורים לדפי פירושונים כך שיפנו לדף הרלוונטי במקום זאת ( solution_disambiguation.py ). השימוש בסקריפט מחייב התערבות אנושית שכן יש לבחור עבור הבוט את הקישור הרלוונטי בכל פעם.
  • בוט שתוכנן להמיר טבלאות שנוצרו בתחביר HTML לתחביר MediaWiki ( table2wiki.py )
שורות הפקודה השימושיות ביותר להפעלת בוט של מיזם pywikibot
  • 1. החלפת מחרוזת טקסט מסוימת בכל רחבי המרחב הראשי:
replace.py -start:שם_המדריך_הראשון_שמתחיל_באות_א_במרחב_הראשי -ns:0 "מחרוזת_הטקסט_שברצונכם_להחליף" "מחרוזת_הטקסט_החדשה"
  • 2. החלפת מחרוזת טקסט מסוימת ברשימת מדריכים מוגדרת מראש שמאוחסנת במסמך articles_list.txt:
replace.py -file:articles_list.txt "מחרוזת_הטקסט_שברצונכם_להחליף" "מחרוזת_הטקסט_החדשה"
  • 3. תיקון ההפניות הכפולות:
redirect.py double

קווים מנחים לכתיבת והפעלת בוט בוויקימסע העברי

עריכה
  • בוט צריך להיות שימושי - לפני שניגשים לכתוב בוט רצוי לוודא שיש בו צורך אמיתי, שכן לפעמים עדיף לעבוד יחד עם עורכים נוספים לביצוע שינוי מסוים באופן ידני במספר רב של מדריכים. בנוסף, אין סיבה להעמיס על השרת בעריכות שאינן מביאות תועלת ממשית לקורא.
  • על הבוט להיות לא מזיק - אם הבוט פגע בתוכנם של מדריכים, עדיף היה אילו הוא לא היה פועל כלל.
  • חשבון-בוט מקומי צריך לקבל "דגל בוט" (bot flag) כך שלא יפריע למעקב השוטף אחרי דף השינויים האחרונים. בקשות מהסוג הזה יש להעלות קודם בדף הדיונים של הויקימסע העברי שם מפעיל הבוט נדרש להציג את הצעת ההפעלה של הבוט בפני הקהילה. לאחר חלוף שבוע יש לבקש ב-Meta שאחד מהדיילים יעניק לכם את ההרשאה אם אין התנגדות ניכרת לכך בדיון שהתקיים בדף הדיונים של הויקימסע העברי.
  • חשבון-בוט יהיה נפרד מהחשבון הראשי שלכם ומיועד למטרה זו בלבד.
  • גם לאחר קבלת דגל בוט, אין להפעיל את הבוט למטרה חדשה ללא הסכמת אחד ממפעילי המערכת.

היתרונות והחסרונות שבהפעלת בוט

עריכה
היתרונות
  • בוטים מסוגלים לבצע היטב עבודה רפטיבית - באמצעות סקריפט ניתן לבצע משימות חוזרות ונשנות בקלות וביעילות רבה יחסית. היתרון הגדול ביותר לכך הוא שכאשר הסקריפט מבצע את העבודה במקום שעורך/ים עושה/ים זאת באופן ידני.
  • בוטים מסוגלים לבצע עבודה מדויקת - סקריפטים כתובים היטב מסוגלים לבצע תיקונים טכניים בהיקף גדול בזמן קצר.
  • בוטים מסוגלים לשלב מידע ממסד נתונים חיצוני למדריכים מרובים - שימוש בסקריפטים עשוי להיות אפשרות נוחה ומהירה להכניס מידע ממאגר מידע קיים לתוך ויקימסע בתבנית אחידה.
החסרונות
  • לבוטים אין שיקול דעת - לבוט חסר שיקול הדעת של עורך בשר ודם.
  • תוצאות לא מכוונות - בוט שגוי יכול להזיק למספר גדול מאד של מדריכים. במקרים בהם בוט שגוי הופעל על דפים רבים במיוחד, לרוב תצטרכו בעקבות כן לתקן את השגיאות שנוצרו באופן ידני או שתצטרכו לחלופין ליצור סקריפט אחר שיתקן את הבעיות שנוצרו מהסקריפט הראשון.
  • ישנם מקרים רבים בהם לא נחוץ שימוש בבוטים - ישנם לא מעט מקרים בהם על אף שישנם עורכים שמעוניינים בסקריפטים מסוימים, אין צורך ממשי בפתרון מסוג זה. הזמן והאנרגיה שנחוצים למפעיל של הבוט ליצור את הסקריפט, לוודא שאין באגים, ולהפעיל את הסקריפט עשוי בסופו של דבר להשתוות לפתרון החלופי לפיו מספר עורכים מבצעים את אותה המשימה באופן ידני. במקרים מסוימים תיקונים ידניים עשוי אף להיות מהיר יותר.
  • לרוב בוטים אינם מוסיפים ידע חדש - באופן כללי סקריפטים מיועדים בעיקר לשפר את האופן שבו התוכן הקיים מוצג. אלא אם כן הבוטים מעבדים תוכן שיובא ממסד נתונים אחר, הבוטים לא יוסיפו ידע חדש לאתר. מומלץ בשל כך במקרים רבות להשקיע את הזמן והאנרגיה שלכם בהוספה של מידע חדש למדריכי האתר (במקום לקוות שבוט יעשה את העבודה במקומכם).
  • בוטים אינם מסוגלים לייצר מדריכים מורכבים על סמך מדריכים מקבילים בויקימסע האנגלי - מדריכים שנוצרו על ידי בוט תמיד יהיו מקובעים ויכללו אך ורק נתונים יבשים.

בקשות ממפעילי בוטים

עריכה

אם יש לכם הצעה טובה למטלה אותה בוטים יוכלו לבצע במהירות וביעילות, אנא ציינו את ההצעה שלכם כאן. איננו יכולים להבטיח שמפעילי הבוטים יפתחו בסופו של דבר את אותו הבוט, אף על פי כן, אם מדובר ברעיון מוצלח ואם אחד ממפעילי הבוטים ימצא את הזמן והמוטיבציה ליצור אותו, הוא/היא עשויים בהחלט לבחור ליצור אותו לטובת קידום מיזם ויקימסע.

הסתרת פעילות הבוטים בדף השינויים האחרונים

עריכה

פעמים רבות בוט עושה שינויים במדריכים רבים, שממלאים חלק ניכר מדף השינויים האחרונים. כדי להתמקד בשינויים האנושיים, ניתן לבקש בדף השינויים האחרונים וברשימת המעקב הסתרה של עריכות של בוטים (אך יש להיזהר, משום שאם קדמה לעריכת הבוט עריכה אנושית, עריכת הבוט לא תוצג).

ראו גם

עריכה