Slack SDK for Java mendukung platform Slack dengan cara idiomatis Java. SDK ditulis dalam Java sehingga pengembang dapat menggunakannya dalam bahasa JVM apa pun termasuk Kotlin, Groovy, dan Scala.
Di dalam SDK, ada dua modul berbeda:
Jika yang ingin Anda lakukan adalah memanggil Slack API di layanan yang ada, sebaiknya gunakan saja Slack API Client . Jika Anda sedang mengembangkan aplikasi Slack baru yang modern dan interaktif, kami merekomendasikan Bolt untuk itu. Kerangka kerja ini memungkinkan pengembang untuk fokus pada bagian-bagian penting dari aplikasi mereka tanpa diganggu oleh hal-hal sepele.
Bolt untuk Java adalah kerangka kerja pada JVM yang menawarkan lapisan abstraksi untuk membangun aplikasi Slack dengan cepat menggunakan fitur platform modern. Lihat Memulai Bolt untuk instruksi rinci.
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
}
}
Untuk aplikasi yang mengaktifkan Mode Soket, Memulai dengan Bolt (Mode Soket) tersedia.
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 berisi klien HTTP yang sederhana, mudah digunakan, dan dapat dikonfigurasi secara fleksibel untuk membuat permintaan ke Slack API. Lihat Dasar-Dasar Klien API untuk detailnya.
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!" ));
Tabel di bawah ini menunjukkan semua modul yang tersedia di Slack Java SDK. Semuanya memiliki versi terbaru yang sama karena kami merilis semuanya pada waktu yang sama, meskipun beberapa tidak mengalami perubahan apa pun selain pembaruan pada sisi ketergantungannya.
Semua versi yang dirilis tersedia di repositori Maven Central. Versi terbaru adalah:
groupId:artifactId | Keterangan |
---|---|
com.slack.api:bolt | Bolt adalah kerangka kerja yang menawarkan lapisan abstraksi untuk membangun aplikasi Slack dengan aman dan cepat. Lingkungan Servlet yang paling umum digunakan sudah didukung secara langsung. |
com.slack.api:bolt-socket-mode | Modul ini menawarkan cara praktis untuk menjalankan aplikasi Bolt melalui koneksi Socket Mode. |
com.slack.api:bolt-jetty | Modul ini menawarkan cara praktis untuk menjalankan aplikasi Bolt di server Jetty HTTP yang kompatibel dengan Java EE (9.x). |
com.slack.api:bolt-jakarta-jetty | Modul ini menawarkan cara praktis untuk menjalankan aplikasi Bolt di server HTTP Jetty yang kompatibel dengan EE Jakarta. |
com.slack.api:bolt-aws-lambda | Modul ini menawarkan cara praktis untuk menjalankan aplikasi Bolt di AWS API Gateway + Lambda. |
com.slack.api:bolt-google-cloud-functions | Modul ini menawarkan cara praktis untuk menjalankan aplikasi Bolt di Google Cloud Functions. |
com.slack.api:bolt-micronaut | Ini adalah adaptor untuk Micronaut untuk menjalankan aplikasi Bolt di atasnya. |
com.slack.api:bolt-helidon | Ini adalah adaptor untuk Helidon SE untuk menjalankan aplikasi Bolt di atasnya. |
com.slack.api:bolt-http4k | Ini adalah adaptor untuk http4k untuk menjalankan aplikasi Bolt di atas salah satu dari beberapa backend server yang didukung perpustakaan. |
com.slack.api:bolt-ktor | Ini adalah adaptor untuk Ktor untuk menjalankan aplikasi Bolt di atasnya. |
groupId:artifactId | Keterangan |
---|---|
com.slack.api:slack-api-model | Ini adalah kumpulan kelas yang mewakili objek inti Slack seperti percakapan, pesan, pengguna, blok, dan permukaan. Karena ini adalah bagian penting dari SDK, semua modul lainnya bergantung pada ini. |
com.slack.api:slack-api-model-kotlin-extension | Ini berisi pembuat DSL Block Kit Kotlin, yang memungkinkan Anda menentukan struktur kit blok melalui DSL asli Kotlin. |
com.slack.api:slack-api-client | Ini adalah kumpulan klien Slack API. Yang didukung adalah Metode API Dasar, Mode Soket, API RTM (Pesan Waktu Nyata), API SCIM, API Log Audit, dan API Status. |
com.slack.api:slack-api-client-kotlin-extension | Ini berisi metode ekstensi untuk berbagai pembuat pesan klien slack sehingga Anda dapat menggunakan Block Kit Kotlin DSL dengan lancar langsung pada pembuat pesan Java. |
com.slack.api:slack-app-backend | Modul ini adalah sekumpulan pengendali sisi server aplikasi Slack dan kelas data untuk Events API, Komponen Interaktif, Perintah Slash, Tindakan, dan aliran OAuth. Ini digunakan oleh kerangka Bolt sebagai fondasinya dalam lapisan primitif. |
SDK mendukung OpenJDK 8 dan versi LTS yang lebih tinggi .
Pengguna dapat mengharapkan setiap rilis patch telah selesai setelah memverifikasi fungsionalitas dengan menjalankan build CI dasar dengan semua versi LTS dan semua pengujian unit telah lulus setidaknya pada versi LTS terbaru. Kami tidak menjalankan verifikasi komprehensif dengan semua distribusi OpenJDK tetapi harus bekerja dengan semuanya.
Jika Anda mengalami kebuntuan, kami siap membantu. Berikut ini adalah cara terbaik untuk mendapatkan bantuan mengatasi masalah Anda:
Proyek jSlack telah ditransfer ke @slackapi. Rilis pemeliharaan jSlack untuk masalah keamanan atau perbaikan bug utama akan dilanjutkan di https://github.com/seratch/jslack-maintenance-releases.
Kami menyambut kontribusi dari semua orang! Silakan lihat Panduan Kontributor kami untuk mengetahui cara berkontribusi dengan cara yang bermanfaat dan kolaboratif.