Slack-ruby-bot: วิธีที่ง่ายที่สุดในการเขียน Slack Bot ใน Ruby

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

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 ของคุณได้

ต้องการ |_+_| ใน |_+_| ของคุณ พร้อมกับการอ้างอิงต่อไปนี้ใน Gemfile

|_+_|

ใช้ |_+_| จับคู่

|_+_|

ใช้ |_+_| ตัวจับคู่สำหรับหลายข้อความ

|_+_|

ตัวจับคู่ข้อความรองรับนิพจน์ทั่วไป

numpy แปลงเป็น float
|_+_|

ตรวจสอบว่าบอทชื่อ |_+_|

|_+_|

การทดสอบข้อความระดับล่าง

คุณสามารถทดสอบพฤติกรรมของไคลเอ็นต์ในระดับที่ต่ำกว่าได้โดยการเรียกขอข้อความ ตัวอย่างต่อไปนี้คาดว่าคำสั่งบอทจะเรียก |_+_|

|_+_|

ห้องสมุดที่มีประโยชน์

  • newrelic-slack-ruby-bot : เครื่องมือวัด NewRelic สำหรับ slack-ruby-bot

บริจาค

ดู มีส่วนร่วม .

กำลังอัพเกรด

ดู การเปลี่ยนแปลง สำหรับประวัติการเปลี่ยนแปลงและ การอัพเกรด สำหรับวิธีอัปเกรดเป็นเวอร์ชันล่าสุด

หากคุณไม่คุ้นเคยกับ Slack bot หรือแนวคิด Slack API คุณอาจต้องการดูวิดีโอนี้

ผู้เขียน: dblock
รหัสที่มา: https://github.com/dblock/slack-ruby-bot
ใบอนุญาต: ใบอนุญาต MIT

#รูบี้ #บอท #หย่อน

ดูสิ่งนี้ด้วย: