Slack SDK สำหรับ Java รองรับแพลตฟอร์ม Slack ในลักษณะที่เป็นสำนวน Java SDK ที่เขียนด้วย Java เพื่อให้นักพัฒนาสามารถใช้ในภาษา JVM ใดก็ได้ รวมถึง Kotlin, Groovy และ Scala
ภายใน SDK มีโมดูลที่แตกต่างกันสองโมดูล:
หากสิ่งที่คุณต้องการทำคือเรียก Slack API ในบริการที่คุณมีอยู่ เราขอแนะนำให้ใช้เฉพาะ ไคลเอ็นต์ Slack API หากคุณกำลังพัฒนาแอป Slack ที่ทันสมัยและโต้ตอบได้ เราขอแนะนำ Bolt เฟรมเวิร์กนี้ช่วยให้นักพัฒนามุ่งเน้นไปที่ส่วนสำคัญของแอพได้โดยไม่ต้องกังวลกับเรื่องเล็กๆ น้อยๆ
Bolt สำหรับ Java เป็นเฟรมเวิร์กบน JVM ที่นำเสนอเลเยอร์นามธรรมเพื่อสร้างแอป Slack อย่างรวดเร็วโดยใช้ฟีเจอร์แพลตฟอร์มสมัยใหม่ โปรดดูการเริ่มต้นใช้งาน Bolt สำหรับคำแนะนำโดยละเอียด
package hello ;
import com . slack . api . bolt . App ;
import com . slack . api . bolt . jetty . SlackAppServer ;
public class MyApp {
public static void main ( String [] args ) throws Exception {
// App expects env variables (SLACK_BOT_TOKEN, SLACK_SIGNING_SECRET)
App app = new App ();
app . command ( "/hello" , ( req , ctx ) -> {
return ctx . ack ( ":wave: Hello!" );
});
SlackAppServer server = new SlackAppServer ( app );
server . start (); // http://localhost:3000/slack/events
}
}
สำหรับแอปที่เปิดใช้งานโหมดซ็อกเก็ต การเริ่มต้นใช้งาน Bolt (โหมดซ็อกเก็ต) จะพร้อมใช้งาน
package hello ;
import com . slack . api . bolt . App ;
import com . slack . api . bolt . socket_mode . SocketModeApp ;
public class MyApp {
public static void main ( String [] args ) throws Exception {
// App expects an env variable: SLACK_BOT_TOKEN
App app = new App ();
app . command ( "/hello" , ( req , ctx ) -> {
return ctx . ack ( ":wave: Hello!" );
});
// SocketModeApp expects an env variable: SLACK_APP_TOKEN
new SocketModeApp ( app ). start ();
}
}
slack-api-client มีไคลเอ็นต์ HTTP ที่เรียบง่าย ใช้งานง่าย และกำหนดค่าได้อย่างยืดหยุ่นสำหรับส่งคำขอไปยัง Slack API โปรดดูรายละเอียดเบื้องต้นเกี่ยวกับไคลเอ็นต์ API
import com . slack . api . Slack ;
import com . slack . api . methods . response . chat . ChatPostMessageResponse ;
Slack slack = Slack . getInstance ();
String token = System . getenv ( "SLACK_TOKEN" );
ChatPostMessageResponse response = slack . methods ( token ). chatPostMessage ( req -> req
. channel ( "C1234567" ) // Channel ID
. text ( ":wave: Hi from a bot written in Java!" ));
ตารางด้านล่างแสดงโมดูลทั้งหมดที่มีอยู่ใน Slack Java SDK ทั้งหมดมีเวอร์ชันล่าสุดเหมือนกับที่เราเผยแพร่ทั้งหมดในเวลาเดียวกัน แม้ว่าบางกรณีจะไม่มีการเปลี่ยนแปลงใดๆ นอกเหนือจากการอัปเดตในด้านการอ้างอิงก็ตาม
เวอร์ชันที่เผยแพร่ทั้งหมดมีอยู่ในที่เก็บ Maven Central เวอร์ชันล่าสุดคือ:
groupId:artifactId | คำอธิบาย |
---|---|
com.slack.api:bolt | Bolt เป็นเฟรมเวิร์กที่นำเสนอเลเยอร์นามธรรมเพื่อสร้างแอป Slack อย่างปลอดภัยและรวดเร็ว สภาพแวดล้อม Servlet ที่ใช้บ่อยที่สุดได้รับการสนับสนุนแบบสำเร็จรูป |
com.slack.api:bolt-socket-mode | โมดูลนี้นำเสนอวิธีที่สะดวกในการเรียกใช้แอพ Bolt ผ่านการเชื่อมต่อโหมดซ็อกเก็ต |
com.slack.api:bolt-jetty | โมดูลนี้นำเสนอวิธีที่สะดวกในการเรียกใช้แอพ Bolt บนเซิร์ฟเวอร์ Jetty HTTP ที่เข้ากันได้กับ Java EE (9.x) |
com.slack.api:bolt-jakarta-jetty | โมดูลนี้นำเสนอวิธีที่สะดวกในการเรียกใช้แอพ Bolt บนเซิร์ฟเวอร์ Jetty HTTP ที่เข้ากันได้กับ Jakarta EE |
com.slack.api:bolt-aws-lambda | โมดูลนี้นำเสนอวิธีที่สะดวกในการเรียกใช้แอป Bolt บน AWS API Gateway + Lambda |
com.slack.api:bolt-google-cloud-ฟังก์ชั่น | โมดูลนี้นำเสนอวิธีที่สะดวกในการเรียกใช้แอป Bolt บนฟังก์ชัน Google Cloud |
com.slack.api:bolt-micronaut | นี่คืออะแดปเตอร์สำหรับ Micronaut เพื่อเรียกใช้แอพ Bolt ที่ด้านบนของมัน |
com.slack.api:bolt-helidon | นี่คืออะแดปเตอร์สำหรับ Helidon SE เพื่อเรียกใช้แอพ Bolt ที่ด้านบนของมัน |
com.slack.api:bolt-http4k | นี่คืออะแดปเตอร์สำหรับ http4k เพื่อเรียกใช้แอพ Bolt บนแบ็คเอนด์เซิร์ฟเวอร์หลายตัวที่ไลบรารีรองรับ |
com.slack.api:bolt-ktor | นี่คืออะแดปเตอร์สำหรับ Ktor เพื่อเรียกใช้แอป Bolt ที่ด้านบนของอะแดปเตอร์ |
groupId:artifactId | คำอธิบาย |
---|---|
com.slack.api:slack-api-model | นี่คือคอลเลกชันของคลาสที่แสดงถึงออบเจ็กต์หลักของ Slack เช่น การสนทนา ข้อความ ผู้ใช้ บล็อก และพื้นผิว เนื่องจากนี่เป็นส่วนสำคัญของ SDK โมดูลอื่นๆ ทั้งหมดจึงขึ้นอยู่กับสิ่งนี้ |
com.slack.api:slack-api-model-kotlin-extension | ประกอบด้วยตัวสร้าง Block Kit Kotlin DSL ซึ่งช่วยให้คุณกำหนดโครงสร้างชุดบล็อกผ่าน Kotlin-native DSL |
com.slack.api:slack-api-ไคลเอนต์ | นี่คือคอลเลกชันของไคลเอ็นต์ Slack API วิธีที่รองรับ ได้แก่ วิธี API พื้นฐาน, โหมดซ็อกเก็ต, API RTM (การส่งข้อความแบบเรียลไทม์), SCIM API, API บันทึกการตรวจสอบ และ API สถานะ |
com.slack.api:slack-api-client-kotlin-extension | ซึ่งประกอบด้วยวิธีการขยายสำหรับตัวสร้างข้อความไคลเอ็นต์ slack ต่างๆ เพื่อให้คุณสามารถใช้ Block Kit Kotlin DSL บนตัวสร้างข้อความ Java ได้โดยตรงอย่างราบรื่น |
com.slack.api:slack-app-แบ็กเอนด์ | โมดูลนี้คือชุดตัวจัดการฝั่งเซิร์ฟเวอร์ของแอป Slack และคลาสข้อมูลสำหรับ Events API, Interactive Components, Slash Commands, Actions และ OAuth flow สิ่งเหล่านี้ถูกใช้โดยกรอบงาน Bolt เป็นรากฐานของมันในเลเยอร์ดั้งเดิม |
SDK รองรับ OpenJDK 8 และเวอร์ชัน LTS ที่สูงกว่า
ผู้ใช้สามารถคาดหวังได้ว่าจะมีการเผยแพร่แพตช์ทุกรายการหลังจากตรวจสอบฟังก์ชันการทำงานโดยการรัน CI builds พื้นฐานด้วย LTS เวอร์ชันทั้งหมด และการทดสอบหน่วยทั้งหมดได้ผ่านการทดสอบอย่างน้อยใน LTS เวอร์ชันล่าสุด เราไม่ได้ทำการตรวจสอบที่ครอบคลุมกับการกระจาย OpenJDK ทั้งหมด แต่ควรจะใช้ได้กับทุกการกระจาย
หากคุณติดขัด เราพร้อมให้ความช่วยเหลือ ต่อไปนี้เป็นวิธีที่ดีที่สุดในการขอความช่วยเหลือในการแก้ไขปัญหาของคุณ:
โครงการ jSlack ถูกโอนไปที่ @slackapi แล้ว การเผยแพร่การบำรุงรักษา jSlack สำหรับปัญหาด้านความปลอดภัยหรือการแก้ไขข้อบกพร่องที่สำคัญจะมีการดำเนินการต่อที่ https://github.com/seratch/jslack-maintenance-releases
เรายินดีรับการสนับสนุนจากทุกคน! โปรดอ่านคู่มือผู้ร่วมให้ข้อมูลของเราเพื่อดูวิธีมีส่วนร่วมที่เป็นประโยชน์และร่วมมือกัน