Slack-ruby-bot: วิธีที่ง่ายที่สุดในการเขียน Slack Bot ใน Ruby
สแล็ค-รูบี้-บอท
เฟรมเวิร์กบอต Slack ทั่วไปที่เขียนด้วย Ruby ที่ด้านบนของ slack-ruby-client ไลบรารีนี้ทำหน้าที่ยกของหนักทั้งหมด เช่น การแยกวิเคราะห์ข้อความ ดังนั้นคุณจึงสามารถมุ่งเน้นที่การนำคำสั่ง slack bot ไปใช้งาน นอกจากนี้ยังพยายามแนะนำจำนวนข้อกำหนดขั้นต่ำหรือข้อจำกัดประเภทต่างๆ มันเป็นต้นแบบบอท Slack
มีประโยชน์กับฉันไหม
- หากคุณแค่พยายามส่งข้อความไปยัง Slack ให้ใช้ slack-ruby-client ซึ่งไลบรารีนี้สร้างขึ้นจากด้านบน
- หากคุณกำลังพยายามเปิดตัวบริการเต็มรูปแบบด้วยการรวมปุ่ม Slack ลองดู slack-ruby-bot-server ซึ่งใช้ไลบรารีนี้
- มิฉะนั้น ปริศนาชิ้นนี้จะช่วยให้คุณสร้างอินสแตนซ์บอทเดียวสำหรับหนึ่งทีม
ปล่อยมีเสถียรภาพ
คุณกำลังอ่านเอกสารประกอบสำหรับ ต่อไป การเปิดตัว slack-ruby-bot โปรดดูเอกสารสำหรับรุ่นที่เสถียรล่าสุด v0.12.0 เว้นแต่ว่าคุณกำลังผสานรวมกับ HEAD ดู การเปลี่ยนแปลง สำหรับประวัติการเปลี่ยนแปลงและ การอัพเกรด สำหรับวิธีอัปเกรดเป็นเวอร์ชันล่าสุด
การใช้งาน
บอทขั้นต่ำ
ไฟล์อัญมณี
|_+_|pongbot.rb
|_+_|หลังจาก ลงทะเบียนบอท รันด้วย |_+_| ให้บอทเข้าร่วมช่องและส่ง Ping
บอทการผลิต
Slack bot ที่ใช้งานจริงโดยทั่วไปคือการรวมกันของเว็บเซิร์ฟเวอร์วานิลลาและแอปพลิเคชัน websocket ที่พูดคุยกับ Slack Real Time Messaging API ดูของเรา การเขียนบอทการผลิต กวดวิชาสำหรับข้อมูลเพิ่มเติม
ตัวอย่างที่เกี่ยวข้องเพิ่มเติม
ตัวอย่างของบอทที่ใช้ slack-ruby-bot ต่อไปนี้แสดงรายการตามลำดับความซับซ้อนที่เพิ่มขึ้น
- slack-bot-on-rails : บอทที่ทำงานบน Rails และใช้ React เพื่อแสดงข้อความ Slack บนเว็บไซต์
- slack-mathbot : การรวม Slack กับคณิตศาสตร์
- slack-google-bot : บอท Slack ที่ค้นหา Google รวมถึง CSE
- slack-aws : การรวม Slack กับ Amazon Web Services
- slack-deploy-bot : บอท Slack ที่ช่วยคุณในการปรับใช้แอพของคุณ
- slack-gamebot : บริการบอทเกมสำหรับปิงปอง หมากรุก ฯลฯ ซึ่งโฮสต์ไว้ที่ playplay.io
- slack-victorbot : บอท Slack เพื่อพูดคุยกับบริการ Victorops
คำสั่งและตัวดำเนินการ
บอทถูกระบุด้วยชื่อ พวกมันตอบสนองต่อคำสั่งและตัวดำเนินการ คุณสามารถรวมหลายคำสั่ง
|_+_|ข้อมูลการจับคู่คำสั่งประกอบด้วย |_+_|, |_+_| และ |_+_| |_+_| การจับคู่จะตรวจสอบกับ |_+_| เสมอ และ |_+_| ค่าที่ได้รับเมื่อบอทเริ่มทำงาน
numpy float สู่ int
|_+_| เมธอดสามารถใช้สตริง ซึ่งจะต้องหนีด้วย |_+_| และนิพจน์ทั่วไป
|_+_|ตัวดำเนินการมีความยาว 1 ตัวอักษรและคล้ายกับคำสั่ง พวกเขาไม่ต้องการระบุบอตหรือแยกโอเปอเรเตอร์ออกจากอาร์กิวเมนต์ คลาสต่อไปนี้ตอบสนองต่อ |_+_|
|_+_|ข้อมูลการจับคู่ตัวดำเนินการประกอบด้วย |_+_| และ |_+_| |_+_| การจับคู่จะตรวจสอบกับ |_+_| เสมอ การตั้งค่า
ข้อความเธรด
หากต้องการตอบกลับข้อความในเธรด คุณต้องระบุการอ้างอิงถึงข้อความแรกที่เริ่มต้นเธรด ซึ่งมีให้เลือกเป็น |_+_| หากไม่มีการส่งข้อความที่เป็นเธรด หรือ |_+_| หากข้อความที่ตอบกลับอยู่ในเธรดแล้ว ดูเธรดข้อความสำหรับข้อมูลเพิ่มเติม
|_+_|โปรดทราบว่าการส่งข้อความโดยใช้เท่านั้น |_+_| อาจทำให้เกิดปัญหาถาวรบางอย่างที่ Slack จะรายงานข้อความที่เข้าไม่ถึงว่ายังไม่ได้อ่าน ในขณะที่เขียน slack team ยังคงมีปัญหาในการล้างการแจ้งเตือนเหล่านั้น ตามที่เอกสารหย่อนแนะนำ ...
ควรใช้ thread_ts ของพาเรนต์ที่แท้จริงเมื่อตอบกลับ การให้ ID ข้อความของเด็กจะส่งผลให้เธรดใหม่ที่แยกออกมานั้นทำลายบริบทและความหมายทั้งหมด
... การตอบกลับเธรดควรถูกส่งไปที่ข้อความเสมอ |_+_| ที่เริ่มกระทู้, ใช้ได้เป็น |_+_| สำหรับข้อความที่ตามมา เพราะฉะนั้น |_+_| .
สำหรับตัวเลือกเพิ่มเติม รวมถึงการออกอากาศ โปรดดูที่ slack-ruby-client#chat_postMessage
แต่นามแฝง
บอทจะตอบสนองต่อชื่อของมันเสมอ (เช่น |_+_|) และ Slack ID (เช่น |_+_|) แต่คุณสามารถระบุนามแฝงได้หลายรายการผ่านทาง |_+_| ตัวแปรสภาพแวดล้อมหรือผ่านการกำหนดค่าที่ชัดเจน
|_+_||_+_|นี่เป็นเรื่องสนุกโดยเฉพาะกับอีโมจิ
บ็อตจะตอบกลับข้อความโดยตรงด้วยหรือไม่มีชื่อบ็อตในข้อความ
การกำหนดเส้นทางทั่วไป
คำสั่งและตัวดำเนินการเป็นเวอร์ชันทั่วไปของเส้นทางบอท คุณสามารถตอบสนองต่ออะไรก็ได้โดยการกำหนดเส้นทางที่กำหนดเอง
|_+_|คุณยังสามารถจับตัวจับคู่หลายตัวด้วย |_+_|
|_+_|ดู ตัวอย่าง/ตลาด สำหรับตัวอย่างการทำงาน
จับคู่ข้อความในไฟล์แนบข้อความ
คุณสามารถตอบกลับข้อความในไฟล์แนบด้วย |_+_| มันจะสแกน |_+_|, |_+_| และ |_+_| ในแต่ละไฟล์แนบจนกว่าจะพบข้อมูลที่ตรงกันในครั้งแรก
ตัวอย่างเช่น คุณสามารถจับคู่ไฟล์แนบตัวอย่างนี้ด้วย |_+_| ด้วยบอทดังต่อไปนี้:
|_+_|คุณยังสามารถกำหนดฟิลด์ในวัตถุแนบที่ควรสแกน
สแกนเพียงช่องเดียว:
|_+_|สแกนหลายช่อง:
|_+_|ให้คำอธิบายสำหรับบอทและคำสั่งของคุณ
คุณสามารถระบุข้อมูลวิธีใช้สำหรับบอทหรือคำสั่งด้วย |_+_| บล็อก ตัวอย่างเช่น:
ในกรณีของบอท:
|_+_|ในกรณีของคำสั่งของคุณเอง:
โมจิซื้อได้ที่ไหนคะ|_+_|
ปรับแต่งเอาต์พุตวิธีใช้คำสั่งของคุณ
หากคุณเคยใช้ |_+_| บล็อกที่อธิบายไว้ข้างต้นเพื่อบันทึกคำสั่งของคุณ คุณสามารถจัดเตรียมความช่วยเหลือในการส่งออกสำหรับคำสั่งต่างๆ เช่น:
|_+_|SlackRubyBot::คำสั่ง::ฐาน
|_+_| คลาสคือน้ำตาล DSL ที่มาจาก |_+_| สำหรับบอทที่เกี่ยวข้องมากขึ้น คุณสามารถจัดระเบียบการใช้งานบอทเป็นคลาสย่อยของ |_+_| ด้วยตนเอง ตามค่าดีฟอลต์แล้ว คลาสคำสั่งจะตอบสนองต่อชื่อของมันโดยไม่คำนึงถึงขนาดตัวพิมพ์ คลาสที่เรียกว่า |_+_| ที่สืบทอดมาจาก |_+_| ตอบกลับ |_+_| และ |_+_| และเรียก |_+_| วิธีการเมื่อนำไปใช้
|_+_|หากต้องการตอบสนองต่อคำสั่งที่กำหนดเองและปิดใช้งานการจับคู่ชื่อคลาสอัตโนมัติ ให้ใช้ |_+_| คำสำคัญ. คำสั่งต่อไปนี้ตอบสนองต่อ |_+_| และ |_+_| (เรียกเป็นภาษาญี่ปุ่น).
|_+_|การอนุญาต
เฟรมเวิร์กไม่มีความสามารถในการตรวจสอบสิทธิ์ผู้ใช้หรือการอนุญาตคำสั่งนอกกรอบ อย่างไรก็ตาม |_+_| คลาสจะตรวจสอบการเรียกใช้คำสั่งทุกครั้งเพื่อขออนุญาตก่อนดำเนินการคำสั่ง เมธอดเริ่มต้นจะคืนค่าจริงเสมอ
ดังนั้น คลาสย่อยของ |_+_| สามารถแทนที่ |_+_| วิธีการส่วนตัวเพื่อให้ตรรกะการอนุญาตของตัวเอง วิธีนี้มีวัตถุประสงค์เพื่อใช้ประโยชน์โดยรหัสผู้ใช้หรืออัญมณีภายนอกที่ต้องการจัดเตรียมตรรกะการให้สิทธิ์ที่กำหนดเองสำหรับการดำเนินการคำสั่ง
|_+_|GIF เคลื่อนไหว
|_+_| การใช้งานมาพร้อมกับการสนับสนุน GIF หากต้องการเปิดใช้งาน ให้เพิ่ม |_+_| (Giphy SDK อย่างเป็นทางการ) หรือ |_+_| (SDK รุ่นเก่า เลิกใช้แล้ว) ให้กับคุณ ไฟล์อัญมณี และตั้งค่าคีย์ Giphy ผ่าน |_+_| ขอรับได้จาก developer.giphy.com
บันทึก: บ็อตส่ง GIF แบบเคลื่อนไหวในคำสั่งเริ่มต้นและข้อผิดพลาด
|_+_|คีย์ API ของ Giphy ถูกตั้งค่าโดยอัตโนมัติผ่าน |_+_| คุณสามารถลบล้างสิ่งนี้ได้ด้วยตนเอง
|_+_|ด้วย |_+_| คุณสามารถกำหนดค่าการจัดเรต GIF เริ่มต้น ซึ่งรองรับ Y, G, PG, PG-13 และ R ค่าเริ่มต้นคือ |_+_|
|_+_|หากคุณใช้ giphy เพื่ออย่างอื่น แต่ไม่ต้องการให้บอทส่ง GIF คุณสามารถตั้งค่า |_+_| หรือ |_+_| ถึง |_+_| หลังมีความสำคัญกว่า
|_+_|คำสั่งในตัว
Slack-ruby-bot มาพร้อมกับคำสั่งในตัวหลายคำสั่ง คุณสามารถกำหนดคำสั่งในตัวใหม่ได้ตามปกติตามที่อธิบายไว้ข้างต้น
[ชื่อบอท]
สิ่งนี้เรียกอีกอย่างว่า |_+_| สั่งการ. แสดงเวอร์ชั่นบอทและลิงค์
[ชื่อบอท] สวัสดี
พูดว่า 'สวัสดี' กลับอย่างสุภาพ
[ชื่อบอท] ช่วยด้วย
ขอความช่วยเหลือ.
ตะขอ
Hooks เป็นตัวจัดการเหตุการณ์และตอบสนองต่อเหตุการณ์ Slack RTM API เช่น สวัสดี หรือ ข้อความ . คุณสามารถดำเนินการด้วยตนเองได้สองวิธี:
scikit เรียนรู้แมชชีนเลิร์นนิ่งแผนที่
การใช้งานและลงทะเบียน Hook Handler
Hook Handler คือวัตถุใดๆ ที่ตอบสนองต่อ |_+_| ข้อความ เช่น proc ตัวอย่างของวัตถุ คลาสที่มี |_+_| วิธีการเรียน ฯลฯ
สามารถลงทะเบียน Hooks ได้โดยใช้วิธีการต่างๆ ตามความต้องการของผู้ใช้ / กรณีการใช้งาน ขณะนี้บางคนสามารถใช้หนึ่งในวิธีต่อไปนี้:
- ผ่าน |_+_| ใน |_+_| การเริ่มต้น.
- ลงทะเบียน |_+_| บน |_+_| โดยใช้ |_+_| วิธีการเรียน
- ลงทะเบียน |_+_| บน |_+_| โดยใช้ |_+_| วิธีการเช่น
ขอลงทะเบียนเมื่อ |_+_| การเริ่มต้น
|_+_|ขอลงทะเบียนใน |_+_| ตัวอย่าง
|_+_|ตัวอย่างเช่น hook ต่อไปนี้จัดการ user_change ซึ่งเป็นเหตุการณ์ที่ส่งเมื่อสมาชิกในทีมอัปเดตโปรไฟล์หรือข้อมูล สิ่งนี้มีประโยชน์ในการอัปเดตแคชผู้ใช้ภายในเมื่อผู้ใช้ถูกเปลี่ยนชื่อ
|_+_|ขอลงทะเบียนเมื่อ |_+_| ระดับ
ตัวอย่าง:
|_+_|สิ่งเหล่านี้จะถูกผลักเข้าไปในชุดเบ็ดเมื่อเริ่มต้น
ไม่ว่าจะโดยการกำหนดค่า การกำหนดอย่างชัดเจน หรือบล็อกฮุค ก็สามารถมีตัวจัดการหลายตัวสำหรับเหตุการณ์ประเภทเดียวกันได้
การลงทะเบียน hook ที่เลิกใช้แล้ว
การลงทะเบียน hook method โดยใช้ |_+_| ถือว่าเลิกใช้แล้วและจะถูกลบออกในเวอร์ชันต่อๆ ไป
|_+_|การป้องกันลูปข้อความ
ตามค่าเริ่มต้น บอทจะไม่ตอบกลับข้อความของตนเอง หากคุณต้องการเปลี่ยนพฤติกรรมนั้น ให้ตั้งค่า |_+_| ถึง |_+_|
|_+_|การบันทึก
โดยค่าเริ่มต้นบอทจะตั้งค่าตัวบันทึกเป็น |_+_| กับ |_+_| ระดับ. คนตัดไม้ใช้ทั้งในไคลเอนต์ RealTime และเว็บ
บันทึกเงียบดังต่อไปนี้
|_+_|หากคุณต้องการปรับแต่งตัวบันทึก ให้ตั้งค่า |_+_| ให้กับคนตัดไม้ของคุณ
|_+_|การบูรณาการขั้นสูง
คุณอาจต้องการรวมบอทหนึ่งหรือหลายบอทเข้ากับระบบอื่น ซึ่งในกรณีนี้บอทที่กำหนดค่าส่วนกลางอาจไม่ทำงานสำหรับคุณ คุณสามารถสร้างอินสแตนซ์ของ SlackRubyBot::เซิร์ฟเวอร์ ซึ่งยอมรับ |_+_|, |_+_| และ |_+_|
|_+_|สำหรับตัวอย่างการผสานรวมขั้นสูงที่รองรับหลายทีม โปรดดู slack-gamebot และ playplay.io ที่สร้างเสริมขึ้นมา
การกำหนดค่าพร็อกซี
มีตัวเลือกพร็อกซีหลายตัวที่สามารถกำหนดค่าได้ใน |_+_| คุณยังสามารถควบคุมตัวเลือกพร็อกซีที่ใช้ได้โดยแก้ไข |_+_| ตัวแปรสภาพแวดล้อมต่อเอกสารของ Net::HTTP
โปรดทราบว่า Docker บน OSX ดูเหมือนจะตั้งค่าพร็อกซีไม่ถูกต้อง ทำให้ |_+_| , |_+_|. คุณอาจต้องยกเลิกการตั้งค่า |_+_| ด้วยตนเอง ในกรณีนั้นเช่น |_+_|.
การออกแบบ Model-View-Controller
|_+_| เมธอดโดยพื้นฐานแล้วเป็นเมธอดคอนโทรลเลอร์ที่รับอินพุตจากภายนอกและดำเนินการตามนั้น พฤติกรรมที่ซับซ้อนอาจนำไปสู่ |_+_| ที่ยาวและเข้าใจยาก บล็อก. คอมเพล็กซ์ |_+_| บล็อกเป็นตัวเลือกสำหรับการแยกเป็นคลาสที่สอดคล้องกับรูปแบบ Model-View-Controller ที่เป็นที่นิยมโดย Rails
ไลบรารีมีคลาสพื้นฐานที่เป็นประโยชน์สามคลาสชื่อ |_+_|, |_+_| และ |_+_|
กำลังทดสอบ |_+_| บล็อกเป็นเรื่องยาก ในฐานะคลาสที่แยกกัน พฤติกรรมของ Model/View/Controller สามารถทดสอบได้ผ่าน |_+_| หรือเครื่องมือที่คล้ายกัน
ผู้ควบคุม
ตัวควบคุมคือจุดโฟกัสของพฤติกรรมบอท โดยทั่วไปแล้วโค้ดที่จะเข้าไปใน |_+_| บล็อกจะเข้าสู่อินสแตนซ์เมธอดในคลาสย่อยของคอนโทรลเลอร์ ชื่อเมธอดอินสแตนซ์ควรตรงกับชื่อคำสั่งทุกประการ (ตรงตามตัวพิมพ์เล็กและใหญ่)
ตัวอย่างเช่น คลาสทั้งสองนี้มีหน้าที่เทียบเท่ากัน
พิจารณา |_+_| ต่อไปนี้ คลาสซึ่งเป็นวิธีการเริ่มต้นที่ง่ายที่สุด
|_+_|การใช้ฟังก์ชัน MVC เราจะสร้างตัวควบคุมแทนเพื่อสรุปฟังก์ชันนี้
|_+_|หมายเหตุในตัวอย่างข้างต้นว่าเมธอดอินสแตนซ์ของคอนโทรลเลอร์ |_+_| ไม่ได้รับข้อโต้แย้งใด ๆ เมื่อมีการเรียกใช้เมธอดอินสแตนซ์ คลาสคอนโทรลเลอร์จะตั้งค่าเมธอด accessor บางอย่างเพื่อให้ |_+_|, |_+_| และ |_+_| ปกติ วัตถุ สิ่งเหล่านี้เป็นออบเจกต์เดียวกันที่ส่งไปยัง |_+_| บล็อก.
อย่างไรก็ตาม ผู้ควบคุมคาดว่าโมเดลและวัตถุมุมมองควรมีตรรกะทางธุรกิจที่จะทำงานใน |_+_|, |_+_| และ |_+_| วัตถุ ตัวควบคุมให้การเข้าถึงโมเดลและดูผ่าน |_+_| และ |_+_| วิธีการเข้าถึง เดอะ ตัวอย่างสินค้าคงคลัง แสดงตัวอย่างที่สมบูรณ์ของ Model, View และ Controller ที่ทำงานร่วมกัน
โปรแกรมคัดแยกฟอง c
ผู้ควบคุมอาจต้องการวิธีการช่วยเหลือสำหรับงานบางอย่าง เพื่อป้องกันไม่ให้เมธอดตัวช่วยสร้างเส้นทางที่บอทจะตอบสนองโดยตรง ชื่อเมธอดอินสแตนซ์ควรขึ้นต้นด้วยเครื่องหมายขีดล่าง (เช่น |_+_|) เมื่อสร้างเส้นทางบอท วิธีการเหล่านี้จะถูกข้ามไป
กำลังโทร |_+_| หลังจากนิยามเมธอดอนุญาตให้ใช้นามแฝงเมธอดที่คล้ายกับ |_+_| ปกติ โครงสร้าง. เมื่อคำสั่งสามารถทริกเกอร์ด้วยสตริงข้อความหลายชุด การแมปความสามารถนั้นกับเมธอดของคอนโทรลเลอร์ก็มีประโยชน์เช่นกัน
สุดท้าย คลาส Controller รวมถึง |_+_| ซึ่งทำให้มีความยืดหยุ่นอย่างเต็มที่ในการสร้าง |_+_|, |_+_| และ |_+_| ตะขอสำหรับวิธีการทั้งหมด อีกครั้งดูที่ ตัวอย่างสินค้าคงคลัง สำหรับข้อมูลเพิ่มเติม.
แบบอย่าง
บอตที่ซับซ้อนอาจต้องอ่านหรือเขียนข้อมูลจากฐานข้อมูลหรือทรัพยากรเครือข่ายอื่นๆ การตั้งค่าและการรื้อการเชื่อมต่อเหล่านี้อาจมีค่าใช้จ่ายสูง ดังนั้นโมเดลจึงสามารถทำได้ทันทีเมื่อมีการสร้างอินสแตนซ์
โมเดลนี้ยังรวมถึง |_+_|
|_+_|เช่นเดียวกับตัวควบคุม โมเดลจะถูกโหลดโดยอัตโนมัติด้วยเวอร์ชันล่าสุดของ |_+_|, |_+_| และ |_+_| วัตถุทุกครั้งที่เรียกใช้เมธอดคอนโทรลเลอร์ ดังนั้นโมเดลจะสามารถเข้าถึงวัตถุล่าสุดได้เสมอเมื่อทำงาน โดยทั่วไปจะใช้เฉพาะ |_+_| และ |_+_| วัตถุ
เมธอดโมเดลไม่ตรงกับเส้นทาง ดังนั้นจึงไม่มีข้อจำกัดในการตั้งชื่อเมธอดตามที่มีในคอนโทรลเลอร์
ดู
บอททั่วไปเพียงแค่เขียนถึงช่องทางหรือใช้เว็บไคลเอนต์เพื่อตอบสนอง/ไม่ตอบสนองต่อข้อความ บอทที่ซับซ้อนมากขึ้นอาจต้องการพฤติกรรมที่ซับซ้อนมากขึ้น ควรเก็บไว้ใน |_+_| คลาสย่อย
|_+_|อีกครั้ง View จะสามารถเข้าถึง |_+_|, |_+_| และ |_+_| ที่เป็นปัจจุบันที่สุด วัตถุ โดยทั่วไปจะใช้เฉพาะ |_+_| และ |_+_| วัตถุ
วิธีการดูไม่ตรงกับเส้นทาง ดังนั้นจึงไม่มีข้อจำกัดในการตั้งชื่อวิธีการตามที่มีในคอนโทรลเลอร์
การทดสอบ
พฤติกรรมที่ใช้ร่วมกันของ RSpec
Slack-ruby-bot มาพร้อมกับลักษณะการทำงานของ RSpec ที่ใช้ร่วมกันจำนวนหนึ่งซึ่งสามารถใช้ในการทดสอบ RSpec ของคุณได้
- ทำตัวเหมือนบอทหย่อน : บอทต้มตุ๋นเหมือนบอท Slack Ruby
- ตอบกลับด้วยข้อความหย่อน : บอทตอบกลับด้วยข้อความ
- ตอบกลับด้วยข้อความหย่อน : บอทตอบกลับด้วยข้อความหลายข้อความ
- ตอบสนองด้วยข้อผิดพลาด : มีข้อยกเว้นเกิดขึ้นภายในคำสั่งบอท
- เริ่มพิมพ์ : บอทเรียก |_+_|
ต้องการ |_+_| ใน |_+_| ของคุณ พร้อมกับการอ้างอิงต่อไปนี้ใน Gemfile
|_+_|ใช้ |_+_| จับคู่
|_+_|ใช้ |_+_| ตัวจับคู่สำหรับหลายข้อความ
|_+_|ตัวจับคู่ข้อความรองรับนิพจน์ทั่วไป
numpy แปลงเป็น float|_+_|
ตรวจสอบว่าบอทชื่อ |_+_|
|_+_|การทดสอบข้อความระดับล่าง
คุณสามารถทดสอบพฤติกรรมของไคลเอ็นต์ในระดับที่ต่ำกว่าได้โดยการเรียกขอข้อความ ตัวอย่างต่อไปนี้คาดว่าคำสั่งบอทจะเรียก |_+_|
|_+_|ห้องสมุดที่มีประโยชน์
- newrelic-slack-ruby-bot : เครื่องมือวัด NewRelic สำหรับ slack-ruby-bot
บริจาค
ดู มีส่วนร่วม .
กำลังอัพเกรด
ดู การเปลี่ยนแปลง สำหรับประวัติการเปลี่ยนแปลงและ การอัพเกรด สำหรับวิธีอัปเกรดเป็นเวอร์ชันล่าสุด
หากคุณไม่คุ้นเคยกับ Slack bot หรือแนวคิด Slack API คุณอาจต้องการดูวิดีโอนี้
ผู้เขียน: dblock
รหัสที่มา: https://github.com/dblock/slack-ruby-bot
ใบอนุญาต: ใบอนุญาต MIT
#รูบี้ #บอท #หย่อน
ดูสิ่งนี้ด้วย:
- เรียนรู้สาเหตุต่างๆ ของข้อผิดพลาดเราเตอร์ TP-Link 404
- Soakmont คืออะไร (SOAK) | โทเค็น Soakmont คืออะไร | โทเค็น SOAK คืออะไร
- SOAR.FI (SOAR) ซื้อได้ที่ไหนและอย่างไร – คำแนะนำทีละขั้นตอนง่าย ๆ
- Plasm Network (PLM) คืออะไร | โทเค็นเครือข่าย Plasm คืออะไร | เหรียญ PLM คืออะไร
- วิธีสร้างส่วนท้ายโดยใช้ Material UI