ויקיפדיה:בוט/בוט ההסבה – הבדלי גרסאות

הוספת נושא
מתוך ויקיפדיה, האנציקלופדיה החופשית
תגובה אחרונה: לפני 3 שנים מאת Kotz בנושא תכונות מתוכננות
תוכן שנמחק תוכן שנוסף
שורה 310: שורה 310:
* לתעד את [[ויקיפדיה:בוט/בוט ההסבה/חפיץ|חפיץ ההסבה]]
* לתעד את [[ויקיפדיה:בוט/בוט ההסבה/חפיץ|חפיץ ההסבה]]
* לאפשר לא לתעד שגיאות בכתיבה לוויקיפדיה. «[[u:Kotz|kotz]]» «[[שמש:Kotz|שיחה]]» 21:51, 15 במרץ 2020 (IST)
* לאפשר לא לתעד שגיאות בכתיבה לוויקיפדיה. «[[u:Kotz|kotz]]» «[[שמש:Kotz|שיחה]]» 21:51, 15 במרץ 2020 (IST)
* בדף הפלט אפשר לתת קישור ל-diff עבור כל עריכת אמת ‏«[[u:Kotz|kotz]]» «[[שמש:Kotz|שיחה]]» 20:21, 14 באפריל 2021 (IDT)


==תכונות מבוקשות==
==תכונות מבוקשות==

גרסה מ־20:21, 14 באפריל 2021

בוט ההסבה

ראו גם:

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

אפשר לשחזר עריכות של הבוט בעזרת בוט שחזור: ויקיפדיה:בוט/בוט ההסבה/שחזור

בוט ההסבה מאפשר הסבות סיטונאיות של תבניות או טקסט כללי כלשהו.

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

איך פועל הבוט?

הבוט הוא בוט בשפת C#, על בסיס תשתית DotNetWikiBot. הקוד נכתב על ידי Kotz ומופעל ומתוחזק על ידיו. רשימת בעלי הרשאות לתחזוקת הבוט, ראו כאן

  • בוטים שנתקעו וחוסמים ריצות של בוטים אחרים אפשר "להרוג" בעזרת פקודת qrm

הבוט עובר על דפים בקטגוריות:

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

עבור דפים בקטגוריה קטגוריה:ויקיפדיה/בוט/בוט ההסבה/דפי מפרט, לאחר ההרצה, הבוט מעביר את הדף לתת-קטגוריה קטגוריה:ויקיפדיה/בוט/בוט ההסבה/דפי מפרט/בהמתנה.

עבור דפים בקטגוריה קטגוריה:ויקיפדיה/בוט/בוט ההסבה/דפי מפרט/ריצת אמת, לאחר ההרצה, הבוט מעביר את הדף לתת-קטגוריה קטגוריה:ויקיפדיה/בוט/בוט ההסבה/דפי מפרט/ריצת אמת/בהמתנה.

יש להחזיר את הדף לקטגוריה המתאימה על מנת שהבוט יריץ אותו שוב.

דף מפרט

בראש דף המפרט יש לכתוב כמה פרמטרים, שמסבירים לבוט מה לבצע:

דף הפלט

  1. יעד=[[שיחת תבנית:אישים במדע/דוגמאות]] [[:קטגוריה:ויקיפדיה/בוט/בוט ההסבה/דפי פלט]]
    1. כך הבוט יודע לאיזה דפים לתעד את הרצות הניסיון. בדוגמה זו הבוט יכתוב את התבניות הישנות והחדשות לדפים שיחת תבנית:אישים במדע/דוגמאות, שיחת תבנית:אישים במדע/דוגמאות2, שיחת תבנית:אישים במדע/דוגמאות3 וכן הלאה ע"פ הצורך. הבוט ימלא עד 9 דפי תיעוד ואז ימשיך בריצה אך ללא תיעוד. בסיום ריצת האמת יש להעביר את כל דפי הדוגמאות לקטגוריה:ויקיפדיה/בוט/בוט ההסבה/דפי פלט/למחיקה, משם הן ימחקו מעת לעת. היעד חייב להיות דף שיחה או דף משתמש. כקיצור דרך, ניתן להשתמש במילת הקסם {{שם הדף המלא}} (ובה בלבד) בכחלק מהגדרת דף היעד.
    2. כל דפי הפלט שהבוט יוצר משויכים אוטומטית לקטגוריה/קטגוריות כפי שמופיע בשורה זו; אם לא מציינים קטגוריה, ברירת המחדל היא קטגוריה:ויקיפדיה/בוט/בוט ההסבה/דפי פלט.
  2. פורמט פלט=n - בחירת פלט בדף התיעוד. ערכים נתמכים עבור n:
    0 - בדף הפלט יופיעו שם הדף, תוכן התבנית לפני ההסבה ותוכן התבנית אחרי ההסבה.
    1 - בדף הפלט יופיעו התוכן לאחר ההסבה בלבד.
    2 - בדף הפלט יופיע שם דף הפלט ותוכן התבנית לאחר הסבה בתוך <nowiki>...</nowiki>.
    3 - בדף הפלט יופיעו שמות דפים שעודכנו בלבד.
    4 - עוזר לדבג בוטים
    5 - בדף התיעוד יופיעו שם הדף, תוכן התבנית לפני ההסבה ותוכן התבנית אחרי ההסבה, וכן כמה עשרות תווים לפני ואחרי ההסבה (בירוק ובסגול, בהתאמה), כדי שיהיה הקשר. (זוהי ברירת מחדל אם לא צוין "פורמט פלט")
    • טיפ: אפשר להשתמש ב-<<<! ... >>> להוספת טקסט בדף התיעוד שלא יופיע בהסבות אמת.
  3. אפשר לכתוב תיוג=משתמש:שמשון משתמש:הגיבור, למשל. במקרה זה, בסוף ההרצה הבוט יבצע "תיוג" למשתמשים שצוינו.

בחירת דפים לעריכה

  1. אפשר לכתוב סדר=אקראי. במקרה זה, ההסבה מתבצעת על דפים בסדר אקראי; ברירת המחדל היא לבצע הסבה לפי סדר אלפביתי. (לא מומלץ לתת סדר אקראי בריצות בהן אמורים להתעדכן יותר מ-500 ערכים)
  2. אפשר לכתוב כמות=12, למשל. במקרה זה, ההסבה תיעצר אחרי ש-12 דפים יוסבו בהצלחה.

הגבלת האופן שבו מחפשים טקסט להחלפה בתוך עמוד

  1. החלף בתוך nowiki=כן (או =לא) - האם הבוט נדרש להחליף טקסט שנמצא בתוך <nowiki>...</nowiki>. ברירת המחדל היא: לא לבצע החלפות באזור זה.
  2. החלף בתוך code=כן (או =לא) - האם הבוט נדרש להחליף טקסט שנמצא בתוך <code>...</code>. ברירת המחדל היא: לא לבצע החלפות באזור זה.
  3. החלף בתוך ref=כן (או =לא) - האם הבוט נדרש להחליף טקסט שנמצא בתוך <ref>...</ref>. ברירת המחדל היא: כן לבצע החלפות באזור זה.
  4. החלף בתוך math=כן (או =לא) - האם הבוט נדרש להחליף טקסט שנמצא בתוך <math>...</math>. ברירת המחדל היא: כן לבצע החלפות באזור זה.
  5. החלף בתוך תבנית הערה=כן (או =לא) - האם הבוט נדרש להחליף או לשמור על מופעים שמופיעים בתוך {{הערה}}. ברירת המחדל היא: כן, כלומר להחליף גם בתוך תבניות ציטוט וגם מחוצה להם.
  6. החלף בתבניות ציטוט=כן (או =לא) - האם הבוט נדרש להחליף או לשמור על מופעים שמופיעים בתוך תבניות ציטוט. רשימת התבניות נבנתה דומה לזו של בוט ההחלפות. ברירת המחדל היא: כן, כלומר להחליף גם בתוך תבניות ציטוט וגם מחוצה להם.
  7. החלף בתבנית ללא החלפה=כן (או =לא) - האם הבוט נדרש להחליף או לשמור על מופעים שמופיעים בתוך {{ללא החלפה}}. ברירת המחדל היא: כן, כלומר להחליף גם בתוך תבנית זו.
  8. החלף בתוך קישורי מדיה=כן (או =לא) - האם הבוט נדרש להחליף או לשמור על מופעים שמופיעים בתוך קישורים לתמונות ולקובצי מדיה. ברירת המחדל היא: כן, כלומר להחליף גם בתוך קישורים כאלו וגם מחוצה להם.
  9. החלף בתבניות=כן (או =לא) - האם הבוט נדרש להחליף או לשמור על מופעים שמופיעים בתוך תבניות (אחרות). ברירת המחדל היא: כן, כלומר להחליף גם תבניות (או מופעים) שמופיעים בתוך תבניות אחרות. כרגע הבוט לא יודע להחריג את התבניות שב"תבניות להסבה"; כלומר בשימוש ב"תבניות להסבה" יחד עם "החלף בתבניות=לא", שום דבר לא ימצא.
  10. החלף ברישא=כן (או =לא) - האם הבוט נדרש להחליף או לשמור על מופעים שמופיעים בתוך ה"רישא" של הערך, כלומר תבניות ותמונות שמופיעות בתחילת הערך, לפני הטקסט. ברירת המחדל היא: כן.
  11. החלף בפתיח=כן (או =לא) - האם הבוט נדרש להחליף או לשמור על מופעים שמופיעים בתוך הפתיח של הערך (הטקסט עד לתחילת הפרק הראשון). ברירת המחדל היא: כן.
  12. החלף בסיפא=כן (או =לא) - האם הבוט נדרש להחליף או לשמור על מופעים שמופיעים בתוך הסיפא של הערך, כלומר החלק שבו יש תבניות ניווט, קישרום לקטגוריה, מיון רגיל וכיוצ"ב. ברירת המחדל היא: כן. זהירות: הבוט לא מזהה את כל תבניות הניווט ככאלה.
  13. החלף בפרק קישורים חיצוניים=כן (או =לא) - האם הבוט נדרש להחליף או לשמור על מופעים שמופיעים בתוך פרק "קישורים חיצוניים". ברירת המחדל היא: כן, כלומר להחליף גם בתוך פרק זה וגם מחוצה לו.

דיווח על תקלות

  1. דיווח על תקלות בגישה לוויקיפדיה=כן (או =לא). ברירת המחדל היא: לא. מתייחס לתקלות בקריאת מידע מוויקיפדיה ולא בכתיבה לה.
  2. דיווח על תקלות בגישה לאינטרנט=כן (או =לא). ברירת המחדל היא: כן.

אחר

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

תקציר עריכה

בדף המפרט יש לכתוב כותרת ==תקציר עריכה== ותחתיה את הטקסט שישמש לתקציר עריכה בעריכות שהבוט עושה.

בחירת דפים לעריכה

קטגוריות

ניתן ליצור בדף המפרט פרק בשם "קטגוריות להסבה", ושם לשים קישורים לקטגוריות, למשל:

  1. [[:קטגוריה:חיילים]] ואז הבוט יעבור רק על דפים בקטגוריה זו. אם נרשמו מספר קטגוריות או רשימת ערכים בנוסף, כולם יסרקו
  2. [[:קטגוריה:חיילים+]] ואז הבוט יעבור על דפים בקטגוריה זו ובתתי הקטגוריות שלה. היות שהבוט יורד עד לעומק הקינון המקסימלי, ייתכן ושימוש באופציה זו יגרום לתוצאות בלתי צפויות ויכלול ערכים שלא אמורים להכלל. יש להשתמש באופציה זו בזהירות מרובה ביותר.

חיפושים של ויקיפדיה

ניתן ליצור פרק בשם "חיפושים", ובו הוראות חיפוש כמו אלה שמתשתמשים בהם בתיבת החיפוש של ויקיפדיה. כל חיפוש יש לשים בתוך תג <nowiki>...</nowiki>. לדוגמה:
<nowiki>insource:/aaa*/</nowiki> ואז הבוט יעבור על הדפים שעלו בחיפוש. הערה: חיפושים רגולריים מסוימים מוצאים רק חלק מהמופעים. ר' phab:T106685.

שאילתות SQL

ניתן ליצור פרק בשם "שאילתות", ובו שאילות SQL מול הוויקיפדיה העברית, כמו אלה שמשתמשים בהם ב-Quarry [1]. כל שאילתה יש לשים בתוך תג <nowiki>...</nowiki>. השאילתה יכולה להחזיר

  • שמות דפים; או
  • מספר מרחב שם ושם ערך; או
  • מספר מרחב שם, שם ערך, ועמודות נוספות שהבוט מתעלם מהן.

דוגמאות:

SELECT page_namespace,page_title FROM page WHERE page_namespace = 4
SELECT page_title
FROM page
WHERE exists
(SELECT * FROM templatelinks WHERE tl_from = page_id AND tl_title = "בקרת_זהויות");

שאילתות SPARQL

ניתן ליצור פרק בשם "SPARQL", ובו שאילות SPARQL מול ויקינתונים, כמו אלה שמשתמשים בהם ב-query.wikidata.org. כל שאילתה יש לשים בתוך תג <nowiki>...</nowiki>. השאילתה יכולה להחזיר

  • שדה article שהוא הערך שיש לערוך
  • שדות נוספים שאפשר להשתמש בהם במפרט ההסבה. למשל בדוגמא למטה אפשר להשתמש במפרט ההסבה בצורה <<<population>>>.

דוגמה:

SELECT ?city ?cityLabel ?article ?population ?time WHERE {
  
  ?city wdt:P31 wd:Q515.
  ?article schema:about ?city .
  ?article schema:isPartOf <https://he.wikipedia.org/> .
  ?city p:P1082 ?population2. 
  ?population2 rdf:type wikibase:BestRank.
  ?population2 ps:P1082 ?population.
  ?population2 pq:P585 ?time.
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
LIMIT 10

דפים להסבה

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

  1. קישורים לערכים, למשל[[יצחק רבין]]
  2. קישורים לדף ויקיפדיה המכיל רשימת ערכים, למשל@[[משתמש:פלוני/רשימה]]
  3. קישור לדף ויקיפדיה המכיל JSON, באותו פורמט המתואר בהמשך: %[[U:someont/mylist.json]]. רק דפים שמצוינים ב"מפתח" באופן מפורש (בסוגריים מרובעים כפולים) נבחרים לעריכה.
  4. קישור לדף אינטרנט המכיל רשימת ערכים, למשל @[http://example.com/foo]
  5. בקשה לעדכון כל הדפים המקושרים לדף מסוים, למשל ->[[מדריד]].
  6. הבוט מזהה גם ייעול ויקינתונים, למשל [[:d:Q34060]], או Q34060.
  7. אפשר לבקש לעבור על כל הדפים שנערכו ב-3 הימים האחרונים, למשל שנערכו לפני 3 ימים. (לא כולל הפניות)
  8. אפשר לקשר לשאילתת PETSCAN (אנ') ואז הבוט יריץ את השאילתה ויעבור על הערכים שהיא מחזירה. לדוגמה: [[petscan:1345473]]. חשוב שהשאילתה תחזיר שם הערך בעברית ו/או מזהה ויקינתונים. (לקבלת מזהה ויקינתונים: ב-petscan, יש להדליק בחוצץ Wikidata בשורה הראשונה Pages with items את Add items, where available)

חיפוש לפי תבניות

ברירת המחדל, אם לא צוינו אחת מההגבלות הנ"ל, ואם צוינו תבניות בפרק "תבניות להסבה", היא שהבוט יחפש את כל הדפים בהם מופיעה "תבנית להסבה" מתוך מרחבי השם הבאים:

  1. מרחב הערכים
  2. מרחב משתמש
  3. מרחב פורטל
  4. מרחב טיוטה

סינון דפים לעריכה

  1. ניתן לסנן ערכים להסבה ע״פ כותרת (שם הדף). למשל, אם מעוניינים להסב רק ערכים שבשמם מופיעה המילה ״מחוז״, כותבים בפרק ==ערכים להסבה== את הביטוי +~מחוז~. סימן + מזכיר לנו שמדובר בסינון, כלומר הביטוי מאפשר דילוג על דפים, שנבחרו באחת מהדרכים האחרות שצוינו קודם; סימני ~...~ מזכירים לנו שהביטוי הוא ביטוי רגולרי; מחוז הוא ביטוי רגולרי שמשמעותו: מכיל ״מחוז״.
  2. ניתן לפסול (לסנן החוצה) ערכים ע״פ כותרת. למשל, אם מעוניינים לדלג על ערכים ששמם מתחיל ב-א׳, כותבים בפרק ==ערכים להסבה== את הביטוי -~^א~. סימן - מזכיר לנו שמדובר בסינון, כלומר הביטוי מאפשר דילוג על דפים, שנבחרו באחת מהדרכים האחרות שצוינו כאן; סימני ~...~ מזכירים לנו שהביטוי הוא ביטוי רגולרי; הוא ביטוי רגולרי שמשמעותו: מתחיל ב-א.
  3. ניתן לסנן לפי מרחבי שם באופן הבא. הסינון מתבצע רק לאחר בחירת הדפים באחת הדרכים האחרות המצוינות כאן.
    1. יש לכתוב פרק בשם ==מרחבי שם==
    2. אם רוצים להגביל את החיפוש למרחבים מסוימים, יש להשתמש בסימן פלוס, למשל: +מרחב הערכים, +שיחת תבנית.
    3. אם רוצים להוציא מרחבים מסוימים מהחיפוש, יש להשתמש בסימן מינוס, למשל: -שיחת ויקיפדיה, ‎-4.
  4. ניתן לסנן לפי תוכן שדות - ראו #מפרט ההסבה.
  5. החלף בארכיונים=לא לא יבצע החלפה בדפים שבשמם המילה "ארכיון" או שמכילים תבנית ארכיון.
  6. החלף בדפי JS=לא לא יבצע החלפה בדפים ששמם מסתיים ב-.js. ברירת המחדל היא: לא לערוך דפים אלו. בטיפול בטיפול, נא להמתין...

בחירת הטקסט לעריכה

יש לכתוב בדף המפרט את הטקסט שאותו יש להסב:

  1. אפשר לכתוב כותרת ==תבנית להסבה== (או: ==תבניות להסבה==). בפרק כותבים שמות של תבנית אחת או יותר בפורמט [[תבנית:תתתת]] - כך הבוט יודע איזו תבנית יש לחפש ולהחליף. במקרה הזה הבוט יחפש את כל הדפים בהם מופיעה התבנית {{תתתת}}.
  2. אפשר לכתוב כותרת ==ביטוי רגולרי להסבה==. בפרק כותבים ביטויים רגולריים שאותם יש להחליף. כל ביטוי להחלפה צריך להיות מוקף בתגית <nowiki>...</nowiki>.
    1. פורמט הביטוי הרגולרי הוא ביטוי רגולרי של C#.
    2. ניתן לסמל "שדות" בביטוי רגולרי, על ידי שימוש בביטוי מהצורה (?<NAME>...)‏. בגוף המפרט ניתן לכתוב <<<NAME>>> וכך להתייחס לתוכן השדה.
    3. בשימוש בביטוי רגולרי יש לציין באופן מפורש באיזה דפים לבצע עריכה על ידי מתן שמות הדפים או הקטגוריה וכדומה.
    4. בשימוש בביטוי רגולרי, יש להיזהר מהאפשרות לבחור ביטויים רגלוריים שמכילים זה את זה. למשל הבטוי הרגולרי א+ יכול לתפוס גם מופעים של "אא" וגם מופעים של "אאא". הבוט אינו יכול להבטיח אלו מהמופעים יעבור הסבה.

מפרט ההסבה

  • חייב להיות תחת הכותרת ==מפרט הסבה==.
  • חייב להיות מוקף בתגיות pre ו/או nowiki ו/או code
  • מפרט ההסבה יכול להכיל את מבנים ותרגומים, כמתואר להלן:

מבנים

  1. <<<אאא>>> - ערך הפרמטר "אאא" בתבנית המקורית (התבנית המוסבת); או ערך השדה "אאא" אם הוגדר בביטוי רגולרי; או ערך השדה "אאא" אם הוגדר בשאילתה המתאימה.
  2. <<<1>>>‏, <<<2>>>... - ערך הפרמטר הראשון ללא שם, השני ללא שם, וכו'.
  3. <<<אאא|בבב|גגג>>> או <<<אאא///בבב///גגג>>> - ערך הפרמטר "אאא" בתבנית המקורית, ואם הוא ריק אז ערך הפרמטר "בבב", ואם גם הוא ריק, אז ערך הפרמטר "גגג" (וכך הלאה).
  4. <<<שם הדף>>> - שם הדף שבטיפול.
  5. <<<שם התבנית>>> - שם התבנית שבטיפול.
  6. <<<הכל>>> - כל הטקסט שיוחלף. עבור תבנית יהיה מהצורה {{...}}.
  7. <<<כל הפרמטרים>>> - כל הפרמטרים שהיו בשימוש בתבנית המקורית (התבנית המוסבת), כולל סימן | לפני הפרמטר הראשון.
  8. <<<רק:ררררר>>> - מחפש בטקסט המקורי את הביטוי הרגולרי ררררר ומציב אותו. אם הביטוי לא נמצא בטקסט להחלפה, התוצאה תהיה מחרוזת ריקה.
  9. <<<רק:ררררר==>חחחחחח>>> - מחפש בטקסט המקורי אל הביטוי הרגולרי ררררר, ואם הוא קיים, מחזיר חחחחחח. חחחחחח יכול להתייחס לביטוי הרגולרי; למשל: $1 - התוכן של הסוגריים הראשונים. או: ${A} - המופע של (?<A>...) בביטוי הרגולרי. אם הביטוי לא נמצא בטקסט להחלפה, התוצא יהיה מחרוזת ריקה.

מבנים שמאפשרים שליפה של נתונים

מהדף שהבוט עורך

  1. <<<אם יש בדף ...דברים...==>ץץץ>>><<<אם אין בדף ...==>...>>>) - המבנה בודק אם הדף מכיל אחד מהדברים המצוינים. אם כן (ובגרסה החלופית או: אם לא), המבנה יוחלף ב"ץץץ". אחרת המבנה נמחק. יש מספר דברים שניתן לציין במבנה זה:
    1. [[:קטגוריה:חצצורנים]] - התייחסות לקטגוריה ספציפית. המבנה אינו בודק קטגוריות שנרשמות דרך תבניות וכדומה.
    2. קט~כדורסל~ - מתייחס לכל הקטגוריות שבשמן מופיעה המחרוזת "כדורסל" (כולל קטגוריה:כדורסלנים, קטגוריה:כדורסלנים פולנים למשל).
    3. קט/ףףף/ - מתייחס לכל הקטגוריות שבשמן מופיע הביטוי הרגולרי ףףף.
    4. [[תבנית:אישיות כדורסל]] - בודק אם בדף מופיעה התבנית {{אישיות כדורסל}}.
    5. תב~כדור~ - מתייחס לכל התבניות שבשמן מופיעה המחרוזת "כדור" (כולל {{כדורגל בשוודיה}} ו{{קבוצת כדורסל}} למשל).
    6. תב/ףףף/ - מתייחס לכל התבניות שבשמן מופיע הביטוי הרגולרי ףףף.
    7. קוד~ץץץ~ - בודק אם בקוד המקור של הדף (לפני ההסבות) מופיע הביטוי "ץץץ".
    8. קוד/ץץץ/ - בודק אם בקוד המקור של הדף (לפני ההסבות) מופיע הביטוי הרגולרי "ץץץ".

מוויקינתונים

  1. <<<ויקינתונים:תווית בשפה##en|he|fr>>> - שולף את ה"תווית" בייעול ויקינתונים של הדף, לפי השפה הנתונה (en אנגלית; fr צרפתית; ru רוסית וכדומה). ניתן לציין כמה שפות ואז הוא בוחר את הראשונה שמוגדר עבורה תווית.
  2. <<<ויקינתונים:p666>>> - שולף את ה"מאפיין" מייעול ויקינתונים של הדף. הבוט מתעלם מ-claims בדרגת deprecated[2]. אם יש כמה ערכים לשליפה, הבוט יחזיר אחד מהם. דוגמאות לנתונים שנבדקו:
    • P21 - זכר או נקבה
    • P421 - אזור זמן
    • P625 - קואורדינטות, בפורמט שמתאים ל{{coord}}
  3. <<<ויקינתונים:p569##/precision>>> - מאפשר לשלוף metadata על ה"מאפיין". למשל עבור מאפיינים מסוג time יש "precision" עם הערכים הבאים:
    • 7 = century
    • 8 = decade
    • 9 = year
    • 10 = month
    • 11 = day
  4. <<<ויקינתונים לדף:p666@@יצחק רבין>>> - שולף את ה"מאפיין" מייעול ויקינתונים שמתאים לדף הוויקיפדיה יצחק רבין.
  5. <<<מגדיר ויקינתונים>>> - שולף את המספר Q של הדף.
  6. <<<מגדיר ויקינתונים לדף:יצחק רבין>>> - שולף את המספר Q של הדף שמתאים לדף הוויקיפדיה יצחק רבין.

מוויקיפדיה

  1. <<<תוכן דף ויקיפדיה##יצחק רבין>>>‏ - קורא את תוכן דף הוויקיפדיה בשם הנתון (בדוגמה זו: יצחק רבין).
  2. <<<תוכן דף ויקיפדיה בשפה##en>>>‏ - קורא את תוכן הדף המקביל בוויקיפדיה בשפה אחרת (בדוגמה זו: אנגלית)
  3. <<<שאילתה##ששששש>>>‏ - מריץ את השאילתה (בפורמט quarry) מול ויקיפדיה ומחזיר את הפלט שלה. מבנה השאילתה כפי שמוסבר למעלה.

מהאינטרנט

  1. <<<תוכן דף אינטרנט##url>>>‏ - קורא את תוכן הדף ב-www. במקרים מסוימים הדף לא יקרא מאתר היעד אלא ממטמון של הבוט.

מבנים לשימוש במשתנים

  1. <<<יהי $א##סבבה>>> או <<<Let $A##BBBB>> - קובע את תוכן המשתנה להיות "סבבה".
  2. <<<$א>>> - מוחלף בתוכן המשתנה .
  3. <<<חישוב##חחחחח>>> - מבצע חישוב על האופרנד חחחחח. אפשרויות החישוב מתוארות כאן אבל לא כולן נתמכות. לדוגמא <<<חישוב@@1+1>>> יהפוך ל-2. לדוגמא <<<חישוב@@2>1>>> יהפוך ל-True. שימו לב: בכל מקרה של שגיאה בביטוי לא תתקבל הודעת שגיאה, אבל ערך המבנה יקבע למחרוזת ריקה.

מבנים המאפשרים דילוג על ערכים

  1. <<<דלג אם יש##<<<דמות>>>>>> - התבנית לא תטופל אם הפרמטר "דמות" נמצא בה ואינו ריק. ניתן לשלב כמה פרמטרים (ומבני <<<...>>> באופן כללי) אך לא ניתן להשתמש במבנים מסוג {{...}}.
  2. <<<דלג אם אין##<<<דמות>>>>>> או <<<דלג אם ריק##<<<דמות>>>>>> - התבנית לא תטופל אם הפרמטר "דמות" לא נמצא בה או שהוא ריק.

תרגומים

ניתן להחיל תרגום על הערכים. באופן הבא: <<<אאא##תרגום##תרגום##תרגום>>> או <<<אאא@@תרגום@@תרגום@@תרגום>>>- ערך הפרמטר "אאא" בתבנית המקורית, לאחר שעבר תרגום מסוים. אפשר להשתמש ב"##" או ב"@@". תרגומים נתמכים:

  1. ##רק מספר - שולף רק את המספר שמופיע בנתון.
  2. ##שורה בעברית - מיועד לנתונים שמכילים שורה אחת או יותר. שולף רק שורה שמכילה טקסט בעברית.
  3. ##שורה באנגלית - מיועד לנתונים שמכילים שורה אחת או יותר. שולף רק שורה שמכילה טקסט באנגלית.
  4. ##שורה ראשונה, ##שורה שנייה - שולף את השורה הראשונה / השנייה. מתעלם משורות ריקות.
  5. ##גודל - גודל הקלט (מספר האותיות)
  6. ##הסר:קקקק - מסיר מהנתון את המחרוזת קקקק אם היא מופיעה בו.
  7. ##הסרר:רררר - מסיר מהנתון את הביטוי הרגולרי רררר אם הוא מופיע בו.
  8. ##הסר החל מ:קקקק - מסיר מהנתון את המחרוזת קקקק ואת כל מה שמופיע אחריה (אם המחרוזת מופיעה בו.)
  9. ##החלף:א==>ב - מחליף בנתון את כל המופעים של "א" ל-"ב".
  10. ##החלףר:א==>ב - מחליף בנתון את כל המופעים של "א" ל-"ב". "א" הוא ביטוי רגולרי (של .Net) ו"ב" אפשר שיכיל החלפות (התייחסויות ל"א") באופן הבא: בביטוי הרגולרי משתמשים ב(?<name>expression); בביטוי להחלפה משתמשים ב${name} . עצה: אפשר להשתמש ב-[2] או ב[3] לבדיקת ביטוי רגולרי.
  11. ##החלףר שוב ושוב:א==>ב - מחליף את כל המופעים; ואז שוב מחליף את כל המופעים; ואז שוב...
  12. ##רק:ררררר, ##רק:ררררר==>חחחחחח - כמו <<<רק>>>. ררררר הוא ביטוי רגלורי.
  13. ##בדיוק - הופך את הביטוי ל-escaped regular expression. כלומר מאפשר שימוש ברק ובהחלףר עם מחרוזת שלא רוצים שתובן כביטוי רגולרי.
  14. ##עטוף ב:ש...ת - אם הנתון המקורי אינו ריק, מוסיף לפניו ״ש״ ואחריו ״ת״. לדוגמה, אם הנתון המקורי היה כלב, אזי לאחר התרגום ##עטוף ב:(...) יתקבל (כלב).
  15. ##מופע תבנית:ץץץ - מחפש בקלט מופע של תבנית (כלומר {{ץץץ...}} ומחזיר את המופע הראשון כנ"ל.
  16. ##כל הפרמטרים - אם הקלט הוא מופע תבנית, מחזיר רק את הפרמטרים (כולל ה| הראשון), בדומה ל<<<כל הפרמטרים>>>. אם הקלט אינו תבנית כאמור, מחזיר ״״.

תרגומים שימושיים ביחד עם <<<כל הפרמטרים>>> ו-##כל הפרמטרים

  1. ##פרמטר:ץץץ - מחזיר את הערך של הפרמטר ץץץ (או ״״ אם הפרמטר אינו מופיע. אפשר להשתמש גם בפרמטר מספרי.
  2. ##הסר פרמטר:קקקק - מאפשר מחיקה של פרמטר אחד (קקקק) כולל סימן | שלפניו, וסימן "=" והערך שלו אחריו.
  3. ##הוסף פרמטר:פפפ=צצצ
    ##הוסף פרמטר בשורה נפרדת:פפפ=צצצ
    ##הוסף פרמטר?פפפ=צצצ
    ##הוסף פרמטר בשורה נפרדת?פפפ=צצצ - מאפשר הוספת פרמטר אחד (פפפ) והערך שלו (צצצ). אם הפרמטר כבר מופיע בתבנית, ערכו יוחלף לערך החדש. הפרמטר יופיע בשורה נפרדת או באותה שורה כמו הפרמטר שלפניו. אם משתמשים ב?, פרמטר עם ערך ריק יוסר מהתבנית; אם משתמשים ב=, פרמטר עם ערך ריק ישאר "פפפ=".
  4. ##הוסף פרמטר בריצה יבשה:פפפ=צצצ - כמו ##הוסף פרמטר אבל בריצה היבשה בלבד (בדף התיעוד). בריצת אמת הפרמטר לא יתווסף גם לא בדף התיעוד. יכולת זו שימושית כדי להוסיף לתבניות מסוימות את ה"מזהה ויקינתונים" (מספר Q) כך שהתבנית תוכל לשאוב את הנתונים מויקינתונים הלרוונטיים לערך שבהסבה.

תרגומים לשימוש עם כתובת URL

  1. ##כתובת מעודכנת או ##Updated URL - זוהי הסבה שמתבצעת על כתובת URL. ההסבה מנסה לגשת לדף WWW בכתובת זו ואם הוא הפניה (redirection) מחזירה את הURL המעודכן. דוגמאות אפשר לראות כאן: תבנית:הארץ/הסבה ושיחת תבנית:Mynet/אכלוס mynet1
  2. ##נתיב מקודד או ##urlEncode - מבצע URL Encoding, בדומה להקסם המתאימה.

מבנים ייחודיים

  1. כדי להוסיף מעברי שורה לצורך קריאות, יש להוסיף בסוף השורה .... הבוט יתעלם ממעבר השורה.
  2. <<<תגתג>>> - תג ייחודי (מספרי), שמשתנה בכל הרצה של בוט ההסבה.
  3. <<<!ףףףף>>> - הטקסט ״ףףףף״ ירשם בדף התיעוד של ההסבה אך לא יבוצע כחלק מההסבה.
  4. <<<רווח>>> - רווח; לפעמים זה נחוץ כי הבוט מתעלם במקרים מסוימים מרווחים, למשל לפני >>>, ##.
  5. <<<ש>>> - מעבר שורה; לפעמים זה נחוץ כי הבוט מתעלם במקרים מסוימים ממעבר שורה, בייחוד לפני ##
  6. שיחזור קישור ויקיפדיה - מחפש קישורים חיצוניים לוויקיפדיה והופך אותם לקישורים פנימיים.
  7. שיחזור קישור ויקימיזם - מחפש קישורים חיצוניים למיזמי אחות והופך אותם לקישורים פנימיים. נתמכים המיזמים הבאים:
    1. ויקימילון
    2. ויקישיתוף

הסבות נוספות - JSON

ניתן להגדיר הסבות נוספות, תוך שימוש בפורמט JSON. לדוגמה פורמט JSON הבא מאפשר הסבות נוספות.

 {
 "[[אדי קבטנר]]": [
        "שחקן",
        "זמר"
    ],
 "[[אביגיל הררי]]": [
        "ה?קאמרי",
        "הבימה"
    ]
 }

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

  1. מפתח הרשומה (אדי קבטנר) צריך להיות אחד מהבאים:
    1. שם של דף (בתוך סוגריים מרובעים)
    2. ביטוי רגולרי לשם של דף; למשל "חתול|כלב" מסמן שההחלפה ישימה לדפים שבשמם הצירוף "חתול" או "כלב".
  2. ערך הרשומה הוא מערך בן שני איברים:
    • האיבר הראשון ("שחקן") הוא כמו שמוסבר בעמוד זה "ביטוי רגולרי להסבה"
    • האיבר השני ("זמר") הוא כמו שמוסבר בעמוד זה "מפרט הסבה"

כדי לאפשר הסבות נוספות כאלו, יש ליצור פרק ==JSON== ולרשום בו:

  1. הסבות JSON כנ"ל בתוך <nowiki>...</nowiki>
  2. קישור לדף ויקיפדיה עם ההסבות הנדרשות, לדוגמה %[[U:Peres/mylist.json]].
  • שימו לב שפרק JSON אינו מספק רשימת ערכים להסבה; יש לציין רשימת ערכים להסבה באחת הדרכים המתוארות כאן.
  • שימו לב, בתוך ה-JSON יש להפוך כל \ ל-\\

אישורים

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

הבוט מנהל רשימה של דפים שחסרים להם אישורים; דפים כאלה נכנסים ויוצאים אוטומטית מהקטגוריה קטגוריה:ויקיפדיה/בוט/בוט ההסבה/דפי מפרט/חסרים אישורים.

הודעות שגיאה

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

מגבלות ובאגים

  1. בעבודה על קבצים, הבוט מצפה לפרק "קטגוריות להסבה" במפרט אחרת אינו מטפל בקבצים.
  2. בוויקיפדיה קיים "מסנן ספאם", שמונע מבוטים לכתוב דפים שבהם יש קישור לאתרי אינטרנט מסוימים. הבוט יודע לזהות ניסיונות לרשום שהמסנן חסם ולהתריע על קיומם. אם נתקלים בבעיה, יש לשקול להחליף את "פורמט הפלט" לפורמט שאינו כולל את הטקסט להסבה (פורמט 3) ואז הבוט לא יתקל בבעיה לרשות את דפי הדוגמאות שלו, לכל הפחות.
  3. כאשר רוצים לעבוד על מספר קטגוריות, עדיין יש לכתוב "קטגוריה להסבה" ולא "קטגוריות להסבה". הבוט אינו מבין את צורת הרבים "קטגוריות להסבה".
  4. קיים מנגנון בוויקיפדיה המגביל את ריצות הבוט ל-80,000 ערכים. אם ישנה ריצה עם מספר ערכים גדול מזה היא מפסיקה אחרי 80,000 אבל לא יודעת לדווח לבוט עצמו שהריצה נגמרה. כתוצאה מכך נשאר בוט יתום ומרחף אי שם, שתוקע את שאר הריצות. ראו שיחת ויקיפדיה:בוט/בוט ההסבה/העתקת תיאור תמונה לכיתוב3 לכמה מקרים כאלה לאחרונה. משתמש:Kotz לטיפולך אודה כי זו צרה שתקעה אותנו שבועיים. גם את סעיף 3 שזה בטח דקה לתקן. 09:24, 30 בנובמבר 2020 (IST)תגובה

עצירות

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

שחזור עריכות הבוט

ראו הסבר בוויקיפדיה:בוט/בוט ההסבה/שחזור

תכונות מתוכננות

תכונות מבוקשות

ראו גם

הערות שוליים

  1. ^ 1 2 דפים עם הגנה autopatrol או editsemiprotected או editautopatrolprotected בלבד)
  2. ^ https://www.wikidata.org/wiki/Help:Ranking

היסטוריית הרצות

ויקיפדיה:בוט/בוט ההסבה/הרצות