ویکی‌پدیا:سیاست ربات‌رانی/درخواست مجوز/Dexbot/وظیفه ۱۷

از ویکی‌پدیا، دانشنامهٔ آزاد

Dexbot (وظیفه ۱۷)[ویرایش]

ربات‌ران: Ladsgroup (بحثمشارکت‌هاانتقال‌هابسته شودبسته‌شدن‌هااختیاراتآمارآمار پیشرفته)

خودکار، مدیریت‌شده یا دستی: خودکار

زبان برنامه‌نویسی: پایتون

کد ربات: در صورت تمایل می‌فرستم ولی بر اساس پای ویکی است

جزئیات عملکرد: افزدن {{انبار-رده}} در صورتی که d:P:P373 در آیتم ویکی داده آن موجود باشد

تناوب اجرا: یک بار بعدش هم ماهی یک بار برای تمام رده‌های جدید

تخمین تعداد صفحه‌هایی که ویرایش می‌شوند: زیاد.

گذر از الگوی ربات ممنوع (بله/خیر): از nobots گذر نمی‌کند

آیا در ویکی دیگری پرچم دارد (بله/خیر): بله

شرح روش اجرا: ربات در رده‌ها می‌گردد و در صورتی که الگوی انبار-رده در رده موجود نباشد در ویکی داده جستجو می‌کند و در صورتی که آیتم معادل آن خاصیت ۳۷۳ (پیوند به رده معادل در انبار) را داشته باشد الگو را می‌افزاید. برای دیدن عملکرد ربات به مشارکت‌هایش بنگرید.

بحث[ویرایش]

:)امیرΣυζήτηση ‏۳۰ اکتبر ۲۰۱۳، ساعت ۰۲:۲۱ (UTC)[پاسخ]

ممنون از کد خوبتان لطفا به ربات بگوئید در بالای الگو، خط اضافه نیافزاید. با تشکرYamaha5 (بحث) ‏۳۰ اکتبر ۲۰۱۳، ساعت ۱۱:۲۰ (UTC)[پاسخ]
برای افزایش سرعت می‌توان با کوئری (رده‌های دارای میان‌ویکی که الگو:انبار-رده ندارند) پیش رفت تا در منابع هم صرفه جویی شود و برای مراتب بعدی ربات فقط رده‌های مورد نظر را پیدا کند.
SELECT  page_title  FROM page  JOIN langlinks ON page_id = ll_from WHERE
 page_namespace = 14 AND page_is_redirect = 0 AND
 page_id  NOT IN (SELECT tl_from FROM templatelinks WHERE tl_title = 'انبار-رده' AND tl_namespace = 10) 
 GROUP BY page_title;

Yamaha5 (بحث) ‏۳۰ اکتبر ۲۰۱۳، ساعت ۱۱:۲۲ (UTC)[پاسخ]

همچنین ای کاش برای مقالات هم چنین می‌کردید چون این الگو در مقالات هم خیلی کاربردی است (می‌توان از کوئری بالا برای مقالات هم استفاده کرد)Yamaha5 (بحث) ‏۳۰ اکتبر ۲۰۱۳، ساعت ۱۱:۳۰ (UTC)[پاسخ]

ربات زمانی خط اضافه می‌افزاید که در بالای صفحه محتوایی نباشد. در صورتی که محتوا باشد نمی‌افزاید (چند مثال [۱] [۲]). بابت کوئری ممنون الان از آن استفاده می‌کنم. می‌توان برای مقالات هم استفاده کرد به شرط گذاشتن شروط خاصی :)امیرΣυζήτηση ‏۳۱ اکتبر ۲۰۱۳، ساعت ۰۹:۲۷ (UTC)[پاسخ]

این کوئریت درست کار نمی‌کند. بعدا چک می‌کنم و بعد از تصحیح از آن استفاده خواهم کرد. :)امیرΣυζήτηση ‏۳۱ اکتبر ۲۰۱۳، ساعت ۰۹:۴۳ (UTC)[پاسخ]
چند مورد را چک کردم به نظرم کوئری مشکلی ندارد آن را برای fawiki_p اجرا کنید نتایجش درست استYamaha5 (بحث) ‏۱ نوامبر ۲۰۱۳، ساعت ۰۸:۲۴ (UTC)[پاسخ]

list1 > enwiki_p

SELECT  page_title  FROM page  JOIN langlinks ON page_id = ll_from WHERE
 page_namespace = 14 AND page_is_redirect = 0 AND ll_lang="fa" AND
 page_id IN (SELECT tl_from FROM templatelinks WHERE tl_title = 'Commons_category' AND tl_namespace = 10) 
 GROUP BY page_title;

list2 > fawiki_p

SELECT  page_title  FROM page  JOIN langlinks ON page_id = ll_from WHERE
 page_namespace = 14 AND page_is_redirect = 0 AND
 page_id  NOT IN (SELECT tl_from FROM templatelinks WHERE tl_title = 'انبار-رده' AND tl_namespace = 10) 
 GROUP BY page_title;

ربات از روی لیست ۲ شروع به خواندن کند و هر موردی که ترجمهٔ انگلیسی‌اش در لیست ۱ نبود را رها کندYamaha5 (بحث) ‏۱ نوامبر ۲۰۱۳، ساعت ۰۹:۱۱ (UTC)[پاسخ]

ربات مدت زیادی است که دارد کار می کند و متوقف نشده، درست است تاخیر داشته ایم ولی لطفا هیچ رباتی را بدون مجوز نرانید تا بحث های آتی شکل نگیرد. به هرروی با توجه به عملکرد مجوز دارد./مهدیگپ ‏۱۹ نوامبر ۲۰۱۳، ساعت ۱۴:۱۴ (UTC)[پاسخ]