แม่แบบ:เก็บอภิปรายอัตโนมัติ

จากวิกิพีเดีย สารานุกรมเสรี
Documentation icon คู่มือการใช้งานแม่แบบ[ดู] [แก้] [ประวัติ] [ล้างแคช]

หากไม่แน่ใจว่าจะใช้โค้ดใดดี ดูที่ #ตัวอย่างที่ 2: กรุแบบเพิ่มจำนวนและดูที่ส่วนคัดลอกวาง

ตั้งค่าการเก็บกรุ[แก้]

ใส่แม่แบบต่อไปนี้ที่ด้านบนของหน้าที่ต้องการให้เก็บลงกรุอัตโนมัติ

{{เก็บอภิปรายอัตโนมัติ
| algo    = old(...)
| archive = ชื่อหน้ากรุ: สำหรับหน้ากรุหลายหน้าโปรดดูที่การใช้งานตัวแปรด้านล่าง
[พารามิเตอร์อื่น ๆ ***ดูด้านล่าง***]
}}

เรียบร้อย อย่างไรก็ตามแม่แบบนี้ไม่มีเนื้อหาและถูกป้องกัน ดังนั้นจึงไม่ต้องห่วงว่าจะมีผลกระทบต่อการแสดงผลหน้า

บอตจะทำงานได้ดีที่สุดเมื่อใช้งานพารามิเตอร์บรรทัดละ 1 พารามิเตอร์ และต้องไม่มีช่องว่างอยู่ก่อนหน้าไปป์ และไม่มีบรรทัดเปล่า ถ้าคุณทำให้แม่แบบอยู่ในบรรทัดเดียว บอตอาจจะไม่ทำงานอย่างที่คุณคาด

และแม่แบบนี้จะต้องอยู่ที่:

  1. ก่อน == หัวข้อระดับสอง == บนหน้า
  2. บนหน้าที่จะใช้โดยห้ามใช้การรวมผ่าน เช่นอย่าวางไว้ในหน้า /ส่วนหัว หรือที่คล้ายกันโดยเด็ดขาด

ตัวอย่าง[แก้]

อย่าลืมแก้ "คุยกับผู้ใช้:ตัวอย่าง" เป็นชื่อหน้าของคุณเอง
ถ้ายังไม่ทำงานอีก อ่านเกี่ยวกับพารามิเตอร์ "minthreadsleft" และ "minthreadstoarchive" ด้านล่าง

ตัวอย่างที่ 1: กรุหน้าเดี่ยว[แก้]

{{เก็บอภิปรายอัตโนมัติ
| algo    = old(7d)
| archive = คุยกับผู้ใช้:ตัวอย่าง/กรุ
}}

(อย่าลืมว่าก็อบตรงนี้ไปตรง ๆ ใช้ไม่ได้กับหน้าของคุณ)

นี่เป็นตัวอย่างการตั้งค่าให้เก็บการอภิปรายจากหน้าคุยกับผู้ใช้:ตัวอย่างไปที่คุยกับผู้ใช้:ตัวอย่าง/กรุหลังจากส่วนอายุเก่ากว่า 7 วัน นับจากตราเวลาที่ใหม่ที่สุด บอตจะหยุดเก็บลงหน้านี้เมื่อใหญ่กว่า 2000KB อาจจะไม่ใช่การตั้งค่าที่เป็นประโยชน์เท่าใดนัก เว้นแต่คุณอยากให้ย้ายการอภิปรายลงกล่องขยะที่จะลบตามเวลา หรือคุณอยากตัดสินใจเองว่าจะย้ายไปที่หน้าไหนต่อ

ตัวอย่างที่ 2: กรุแบบเพิ่มจำนวน[แก้]

{{เก็บอภิปรายอัตโนมัติ
| algo                = old(30d)
| archive             = คุยกับผู้ใช้:ตัวอย่าง/กรุ %(counter)d
| counter             = 1
| maxarchivesize      = 150K
| archiveheader       = {{aan}}
| minthreadstoarchive = 1
| minthreadsleft      = 4
}}
คัดลอกวางเพื่อความสะดวก
{{เก็บอภิปรายอัตโนมัติ
| algo                = old(30d)
| archive             = {{SUBST:FULLPAGENAME}}/กรุ %(counter)d
| counter             = 1
| maxarchivesize      = 150K
| archiveheader       = {{aan}}
| minthreadstoarchive = 1
| minthreadsleft      = 4
}}

การใช้งานนี้ทำให้บอตส่วนเก็บลงกรุเมื่อส่วนใด ๆ เก่ากว่า 30 วัน และเว้น 4 ส่วนล่าสุดไว้ จากหน้าคุยกับผู้ใช้:ตัวอย่างไปยังคุยกับผู้ใช้:ตัวอย่าง/กรุ 1 (อ่านเกี่ยวกับตัวแปรด้านล่าง) จนกว่าจะเต็ม 150 กิโลไบต์ ซึ่งหลังจากนั้นจะย้ายไปที่กรุ 2 อย่าลืมระบุขนาดสูงสุดของกรุ มิเช่นนั้นมันจะทำงานเหมือนในตัวอย่างแรก และการใช้การตั้งค่านี้จะเพิ่ม {{ann}} ซึ่งเป็นแม่แบบสำหรับอธิบายหน้าย่อยของกรุการอภิปราย เพื่อให้ไปยังกรุต่าง ๆ ได้ง่ายขึ้น

ตัวอย่างที่ 3: กรุตามเวลา[แก้]

{{เก็บอภิปรายอัตโนมัติ
| algo          = old(5d)
| archive       = คุยกับผู้ใช้:ตัวอย่าง/กรุ/%(year)d/%(monthname)s
| archiveheader = {{MonthlyArchive}}
}}

(อย่าลืมว่าก็อบตรงนี้ไปตรง ๆ ใช้ไม่ได้กับหน้าของคุณ คัดลอกส่วนด้านล่างไปแทน)

คัดลอกวางเพื่อความสะดวก
{{เก็บอภิปรายอัตโนมัติ
| algo          = old(5d)
| archive       = {{SUBST:FULLPAGENAME}}/%(year)d/%(monthname)s
| archiveheader = {{MonthlyArchive}}
}}

การตั้งค่านี้จะเก็บการอภิปรายที่เก่ากว่า 5 วันลงกรุ ซึ่งจะลงกรุไหนนั้นขึ้นอยู่กับตราเวลาใหม่ที่สุดในส่วนนั้น ๆ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับตัวแปรอื่น ๆ ได้ด้านล่าง

อธิบายแต่ละพารามิเตอร์[แก้]

{{เก็บอภิปรายอัตโนมัติ
| archive             = 
| algo                = 
| counter             = 
| maxarchivesize      = 
| minthreadsleft      = 
| minthreadstoarchive = 
| archiveheader       = 
| key                 = 
| donetl              = 
}}
พารามิเตอร์ ค่าปริยาย คำอธิบาย
archive ไม่มี (จำเป็น) ชื่อของหน้ากรุที่จะเก็บลง พรารามิเตอร์นี้รองรับการใช้งานตัวแปร ซึ่งสามารถตั้งชื่อกรุตามแต่เวลานั้น ๆ ได้ เช่นช่วงเวลา หมายเหตุว่า Magic words ไม่สามารถทำงานได้ และบอตจะไม่เก็บการอภิปรายไปยังกรุที่ไม่ใช่หน้ารองของหน้าปัจจุบัน เว้นเสียแต่ใช้พารามิเตอร์ key ร่วมด้วย (ดูด้านล่าง) และจะเพิ่มไปยังหมวดหมู่:หน้าที่พารามิเตอร์กรุไม่ใช่หน้ารอง
algo old(24h) จำนวนเวลาขั้นต่ำของการตอบกลับสุดท้ายในส่วนก่อนที่บอตจะเก็บลงกรุ ต้องอยู่ในรูปแบบ: old(nT) เมื่อ n คือตัวเลข และ T ระบุชั่วโมงหรือวัน คุณสามารถเว้น T เพื่อระบุเป็นวินาที (ถึงแม้ว่าจะไม่มีกรณีต้องใช้ก็ตาม) ตัวอย่าง: 600, 72h, 5d คือการระบุเวลา 600 วินาที, 72 ชั่วโมง หรือ 5 วันตามลำดับ สำหรับกรณีช่วงเวลายาว ๆ ใช้หน่วยวันจะเหมาะสมกว่า เช่น algo=old(1100d) ซึ่งเท่ากับราว 3 ปี สูตรที่ซับซ้อนกว่านี้อื่น ๆ อาจมีให้ใช้งานในอนาคต
counter 1 ตัวนับเลขปัจจุบันของกรุล่าสุด หากไม่ได้ใช้ตัวแปร %(counter)d พารามิเตอร์นี้จะไม่ได้ใช้งาน และ PatsaBot จะอัปเดตพารามิเตอร์ตามความจำเป็น
maxarchivesize 1954K ขนาดใหญ่ที่สุดของกรุเมื่อเป็นข้อความล้วน (เช่น 256M สำหรับเมกะไบต์ 256K สำหรับกิโลไบต์ หรือ 256B สำหรับไบต์) หรือระบุเป็นเธรด (เช่น 10T) เมื่อเต็มจำนวนแล้วบอตจะเพิ่มตัวนับ ไม่ได้ถูกใช้งานถ้าไม่ได้ใช้ counter
minthreadsleft 5 จำนวนส่วนขั้นต่ำที่จะทิ้งไว้บนหน้า (เพื่อไม่ให้เป็นหน้าว่างเปล่าจนเกินไป)
minthreadstoarchive 2 จำนวนส่วนขั้นต่ำที่ต้องเก็บในแต่ละครั้ง เพื่อลดความถี่ในการแก้ไข PatsaBot จะไม่เก็บการอภิปรายลงกรุหากส่วนที่ต้องเก็บมีจำนวนน้อยกว่าตัวเลขนี้
archiveheader {{กรุ}}{{กล่องกรุ/หน้าใน}} เนื้อหาที่จะใส่ไว้ที่ส่วนบนของหน้าเพื่อเป็นส่วนหัว
key โค้ดลับ (ที่เมื่อถูกต้อง) จะให้สามารถเก็บส่วนลงกรุได้โดยไม่จำเป็นต้องเป็นหน้ารองของหน้าอภิปรายนั้น ๆ หากต้องการใช้คุณสมบัตินี้ โปรดส่งคำขอพร้อมคำอธิบายกับผู้ใช้นี้ พารามิเตอร์นี้มีไว้เพื่อความปลอดภัย
donetl นิพจน์ปรกติสำหรับตรวจสอบว่าส่วนควรถูกเก็บลงกรุหรือไม่ เช่นหน้าวิกิพีเดีย:แจ้งผู้ดูแลระบบจะเก็บลงกรุเมื่อพ้นจำนวนวันที่กำหนดและมี {{done}} หรือ {{not done}} ก่อนเท่านั้น หากไม่ได้ใส่จะยึดพฤติกรรมปกติ พารามิเตอร์นี้ใช้แทน {{DNAU}} เพื่อความสะดวก แต่หากใช้ {{DNAU}} แล้ว พารามิเตอร์นี้ไม่มีผล

ตัวแปร[แก้]

ชื่อตัวแปร ไว้สำหรับ
%(counter)d จำนวนปัจจุบันของ counter
%(year)d ปี พ.ศ. ของส่วนที่จะถูกเก็บลงกรุ (เช่น 2567)
%(ceyear)d ปี ค.ศ. ของส่วนที่จะถูกเก็บลงกรุ (เช่น 2024)
%(quarter)d รอบไตรมาสของส่วนที่จะเก็บลงกรุ (เลข 1-4)
%(month)d เดือนของส่วนที่จะเก็บลงกรุ (เป็นตัวเลข 1-12)
%(monthname)s ชื่อเดือนเป็นภาษาไทย
%(monthnameshort)s ชื่อเดือนย่อภาษาไทย

หากใครเคยเขียนหรือคุ้นชินกับภาษาไพธอนอาจจำได้ว่าตัวแปรเหล่านี้คือตัวแปรซึ่งจะถูกแทนที่ด้วยค่าเมื่อรันโปรแกรม และอาจพอทราบว่าจะปรับรูปแบบอย่างไรได้บ้าง นี่คือจุดที่ผู้ไม่ทราบอาจต้องการรู้:

  • อย่าแก้ไขตัวอักษรหลังวงเล็บ ("d" คือจำนวนเต็ม และ "s" คือ สายอักขระ)
  • ตัวแปรจำนวนเต็มอาจเต็ม 0 เพิ่มทางด้านซ้ายได้ โดย:
    %(counter)03d ทำให้ได้ค่า 013 หากค่า counter เท่ากับ 13
    %(month)02d ได้ 05 สำหรับพฤษภาคม

หลังจากตั้งค่าการเก็บลงกรุแล้ว[แก้]

บอตจะทำงานวันละครั้งเมื่อถึงเวลาที่กำหนด (โดยปกติจะเริ่มทำงานเวลา 00:15 น. เวลาประเทศไทย) โปรดรอจนถึงช่วงนั้นและรอดูผลลัพธ์ ในหน้าประวัติจะแสดงลิงก์ว่าการอภิปรายถูกย้ายไปที่ใดบ้าง

แม่แบบหลาย ๆ อย่างจะถูกใช้เพื่อแสดงรายการกรุ แม่แบบมักจะเพิ่มไปที่หน้าอภิปรายหลักเพื่อให้หาง่ายเพียงเพิ่มชื่อแม่แบบที่อยู่ในวงเล็บปีกกาไว้ที่ที่คุณต้องการให้แสดงผล แม่แบบที่มักจะใช้ได้แก่:

แม่แบบนี้ไว้ใส่ที่หน้ากรุเพื่อความสะดวกในการไปหน้าต่าง ๆ:

  • {{กล่องกรุ/หน้าใน}} ของดั้งเดิมบนวิกิพีเดียภาษาไทย มีตัวเลขเท่านั้น ไม่เหมาะกับการนำทาง แต่มีกล่องค้นหา
  • {{Automatic archive navigator}} รูปแบบวิกิพีเดียภาษาอังกฤษ เหมาะสำหรับการนำทาง แต่ไม่มีกล่องค้นหา

การเว้นหรือเลื่อนการเก็บลงกรุ[แก้]

สามารถเลื่อนการเก็บลงกรุได้โดยใส่ {{DNAU}} ในส่วน ใช้ {{subst:DNAU}} เพื่อให้เว้นการเก็บกรุเป็นระยะเวลานาน หรือ {{subst:DNAU|<integer>}} เมื่อ <integer> คือระยะเวลาเป็นวัน ดูที่คู่มือการใช้แม่แบบสำหรับรายละเอียดการใช้งาน

กรณีขาดลายเซ็น[แก้]

ปัญหาใหญ่ในตอนนี้คือ PatsaBot จะไม่เก็บส่วนที่ไม่มีลายเซ็น แต่บางครั้งผู้ใช้ก็ลืมใส่ลายเซ็นการแก้ไข ทำให้บางครั้งอาจข้ามไปและเก็บการอภิปรายที่ใหม่กว่า

ตัวเลือกหนึ่งคือการเก็บส่วนที่มีข้อความไม่ได้ลงลายเซ็นโดยลงกรุด้วยมือ อีกวิธีคือใส่ลายเซ็นลงที่ข้อความสุดท้ายของส่วนนั้น ๆ

ข้อมูลที่ส่งออกมาจากแม่แบบ[แก้]

เมื่อใช้พารามิเตอร์ |key= ข้อมูลเดียวที่ส่งออกมาจากแม่แบบ คือการจัดหมวดหมู่ไปยังหมวดหมู่:หน้าที่เก็บกรุโดยใช้งาน key หากไม่แล้ว แม่แบบจะส่งออก <nowiki /> มาแทน โดยเป็นทริกสำหรับการป้องกันพื้นที่ว่างที่ไม่พึงประสงค์

สาเหตุที่ทำให้ไม่เก็บกรุ[แก้]

มีหลายปัจจัยที่ทำให้หน้าไม่ถูกเก็บลงกรุ:

  • |archive= ไม่ได้ระบุหน้าที่ต้องเก็บการอภิปราย บางครั้งอาจมาจากการย้ายหน้าโดยยังไม่ได้อัปเดตพารามิเตอร์
  • บอตยังไม่ถึงเวลาทำงาน โดยปกติจะทำงานวันละครั้ง ดูกิจกรรมล่าสุดที่ พิเศษ:เรื่องที่เขียน/PatsaBot
  • ลิงก์ภายนอกที่อยู่ในส่วนมีบางจุดตรงกับมีเดียวิกิ:Spam-blacklistหรือcommons:MediaWiki:Spam-blacklist ซึ่งจะส่งผลให้ไม่มีการเก็บลงกรุเลย แต่สามารถปิดใช้งานการป้องกันได้โดยใช้ <nowiki>...</nowiki>.
  • |minthreadstoarchive= มีค่ามากกว่าจำนวนส่วนที่พร้อมเก็บลงกรุ
  • |minthreadsleft= มากเกินกว่าจะทำให้เกิดการเก็บลงกรุ
  • |algo=old(...) นานเกินไปที่จะเก็บ
  • แม่แบบตั้งค่าเก็บกรุไม่ได้ใส่ไว้เหนือส่วนแรก
  • แม่แบบตั้งค่าเก็บกรุถูกใส่ไว้ในโค้ดแม่แบบอื่น
  • พารามิเตอร์แม่แบบไม่ได้แบ่งพารามิเตอร์ละบรรทัดอย่างถูกต้อง
  • หากส่วนที่ใหม่กว่าถูกเก็บ แต่มีบางส่วนไม่ อาจเกิดจากการขาดลายเซ็นที่มีตราเวลาที่ถูกต้อง ดูที่#กรณีขาดลายเซ็นด้านบน
  • ชื่อหน้าอาจมีเครื่องหมายวรรคตอนบางตัว ("&') ดูที่ วิธีใช้:กรุ#FULLPAGENAME สำหรับคำอธิบายและวิธีการแก้ปัญหา

ข้อมูลแม่แบบ[แก้]

ด้านล่างนี้คือข้อมูลแม่แบบ เอกสารกำกับสำหรับแม่แบบนี้ซึ่งถูกใช้งานโดยเครื่องมือแก้ไขแบบเห็นภาพและเครื่องมืออื่น ๆ

ข้อมูลแม่แบบสำหรับ เก็บอภิปรายอัตโนมัติ (ยังไม่มีการตรวจสอบ)

สำหรับตั้งค่าการเก็บกรุโดยบอตผู้ใช้:PatsaBot

พารามิเตอร์แม่แบบ[แก้ไขข้อมูลแม่แบบ]

This template prefers block formatting of parameters.

พารามิเตอร์คำอธิบายชนิดสถานะ
ชื่อหน้ากรุarchive

ชื่อของหน้ากรุที่จะเก็บลง พรารามิเตอร์นี้รองรับการใช้งานตัวแปร ซึ่งสามารถตั้งชื่อกรุตามแต่เวลานั้น ๆ ได้ เช่นช่วงเวลา หมายเหตุว่า Magic words ไม่สามารถทำงานได้ และบอตจะไม่เก็บการอภิปรายไปยังกรุที่ไม่ใช่หน้ารองของหน้าปัจจุบัน เว้นเสียแต่ใช้พารามิเตอร์ key ร่วมด้วย (ดูด้านล่าง) และจะเพิ่มไปยังหมวดหมู่:หน้าที่พารามิเตอร์กรุไม่ใช่หน้ารอง

ค่าที่แนะนำ
{{SUBST:FULLPAGENAME}}/%(year)d/%(monthname)s {{SUBST:FULLPAGENAME}}/กรุ %(counter)d
ตัวอย่าง
คุยกับผู้ใช้:ตัวอย่าง/กรุ %(counter)d
สตริงจำเป็น
ตรรกกะสำหรับย้ายการอภิปรายลงกรุalgo

จำนวนเวลาขั้นต่ำของการตอบกลับสุดท้ายในส่วนก่อนที่บอตจะเก็บลงกรุ ต้องอยู่ในรูปแบบ: old(nT) เมื่อ n คือตัวเลข และ T ระบุชั่วโมงหรือวัน คุณสามารถเว้น T เพื่อระบุเป็นวินาที (ถึงแม้ว่าจะไม่มีกรณีต้องใช้ก็ตาม) ตัวอย่าง: 600, 72h, 5d คือการระบุเวลา 600 วินาที, 72 ชั่วโมง หรือ 5 วันตามลำดับ สำหรับกรณีช่วงเวลายาว ๆ ใช้หน่วยวันจะเหมาะสมกว่า เช่น algo=old(1100d) ซึ่งเท่ากับราว 3 ปี สูตรที่ซับซ้อนกว่านี้อื่น ๆ อาจมีให้ใช้งานในอนาคต

ค่าที่แนะนำ
old(7d) old(14d) old(30d)
ค่าปริยาย
old(24h)
ตัวอย่าง
old(14d)
สตริงเลือกได้
ตัวนับcounter

ตัวนับเลขปัจจุบันของกรุล่าสุด หากไม่ได้ใช้ตัวแปร %(counter)d พารามิเตอร์นี้จะไม่ได้ใช้งาน และ PatsaBot จะอัปเดตพารามิเตอร์ตามความจำเป็น

ค่าปริยาย
1
ตัวอย่าง
1
จำนวนเลือกได้
ขนาดอย่างมากของกรุmaxarchivesize

ขนาดใหญ่ที่สุดของกรุเมื่อเป็นข้อความล้วน (เช่น 256M สำหรับเมกะไบต์ 256K สำหรับกิโลไบต์ หรือ 256B สำหรับไบต์) หรือระบุเป็นเธรด (เช่น 10T) เมื่อเต็มจำนวนแล้วบอตจะเพิ่มตัวนับ ไม่ได้ถูกใช้งานถ้าไม่ได้ใช้ counter

ค่าที่แนะนำ
150K 250K 500K 1M 1500K 2M
ค่าปริยาย
1954K
ตัวอย่าง
250K
สตริงเลือกได้
จำนวนส่วนขั้นต่ำที่จะทิ้งไว้บนหน้าminthreadsleft

เพื่อไม่ให้เป็นหน้าว่างเปล่าจนเกินไป

ค่าปริยาย
5
จำนวนเลือกได้
จำนวนส่วนขั้นต่ำที่ต้องเก็บในแต่ละครั้งminthreadstoarchive

เพื่อลดความถี่ในการแก้ไข บอตจะไม่เก็บการอภิปรายลงกรุหากส่วนที่ต้องเก็บมีจำนวนน้อยกว่าตัวเลขนี้

ค่าปริยาย
2
จำนวนเลือกได้
ส่วนหัวกรุarchiveheader

เนื้อหาที่จะใส่ไว้ที่ส่วนบนของหน้าเพื่อเป็นส่วนหัว

ค่าปริยาย
{{กรุ}}{{กล่องกรุ/หน้าใน}}
ตัวอย่าง
{{aan}}
ไม่ทราบชนิดเลือกได้
คีย์key

ใช้เมื่อหน้ากรุไม่ใช่หน้ารองของหน้าอภิปราย โปรดติดต่อผู้ดูแลบอตหากต้องการใช้งาน

สตริงเลือกได้