يدعم Slack SDK for Java نظام Slack الأساسي بطريقة Java الاصطلاحية. حزمة SDK مكتوبة بلغة Java حتى يتمكن المطورون من استخدامها بأي لغة JVM بما في ذلك Kotlin وGroovy وScala.
يوجد داخل SDK وحدتان مختلفتان:
إذا كان ما تريد القيام به هو استدعاء Slack APIs في خدماتك الحالية، فنوصي باستخدام Slack API Client فقط. إذا كنت تقوم بدلاً من ذلك بتطوير تطبيق Slack حديث وتفاعلي جديد، فإننا نوصي بـ Bolt لذلك. يمكّن إطار العمل المطورين من التركيز على الأجزاء الأساسية لتطبيقاتهم دون الانزعاج من التفاهات.
Bolt for 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 APIs. راجع أساسيات عميل 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. أحدث إصدار هو:
معرف المجموعة: معرف القطعة الأثرية | وصف |
---|---|
com.slack.api:bolt | Bolt هو إطار عمل يوفر طبقة تجريد لإنشاء تطبيقات Slack بأمان وبسرعة. يتم دعم بيئة Servlet الأكثر استخدامًا بشكل جاهز. |
com.slack.api:وضع مأخذ التوصيل | توفر هذه الوحدة طريقة سهلة لتشغيل تطبيقات 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-functions | توفر هذه الوحدة طريقة سهلة لتشغيل تطبيقات Bolt على Google Cloud Functions. |
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 فوقه. |
معرف المجموعة: معرف القطعة الأثرية | وصف |
---|---|
com.slack.api:slack-api-model | هذه عبارة عن مجموعة من الفئات التي تمثل كائنات Slack الأساسية مثل المحادثات والرسائل والمستخدمين والكتل والأسطح. وبما أن هذا جزء أساسي من SDK، فإن جميع الوحدات الأخرى تعتمد عليه. |
com.slack.api:slack-api-model-kotlin-extension | يحتوي هذا على مُنشئ Block Kit Kotlin DSL، والذي يسمح لك بتحديد هياكل مجموعة الكتل عبر DSL الأصلي لـ Kotlin. |
com.slack.api:slack-api-client | هذه مجموعة من عملاء Slack API. المدعومة هي أساليب واجهة برمجة التطبيقات الأساسية، ووضع المقبس، وواجهة برمجة تطبيقات RTM (المراسلة في الوقت الحقيقي)، وواجهة برمجة تطبيقات SCIM، وواجهة برمجة تطبيقات سجلات التدقيق، وواجهة برمجة تطبيقات الحالة. |
com.slack.api:slack-api-client-kotlin-extension | يحتوي هذا على طرق تمديد لمختلف منشئي رسائل عميل Slack حتى تتمكن من استخدام Block Kit Kotlin DSL بسلاسة مباشرة على منشئي رسائل Java. |
com.slack.api:slack-app-backend | هذه الوحدة عبارة عن مجموعة من المعالجات من جانب خادم تطبيق Slack وفئات البيانات لواجهة برمجة تطبيقات الأحداث والمكونات التفاعلية وأوامر الشرطة المائلة والإجراءات وتدفق OAuth. يتم استخدامها بواسطة إطار عمل Bolt كأساس له في الطبقات البدائية. |
يدعم SDK OpenJDK 8 وإصدارات LTS الأعلى .
يمكن للمستخدمين أن يتوقعوا أن كل إصدار تصحيح تم إنجازه بعد التحقق من الوظيفة عن طريق تشغيل إصدارات CI الأساسية مع جميع إصدارات LTS واجتازت جميع اختبارات الوحدة على الأقل على أحدث إصدار LTS. نحن لا نقوم بإجراء عمليات تحقق شاملة مع جميع توزيعات OpenJDK ولكن يجب أن نعمل معها جميعًا.
إذا واجهتك مشكلة، نحن هنا للمساعدة. فيما يلي أفضل الطرق للحصول على المساعدة لحل مشكلتك:
تم نقل مشروع jSlack إلىslackapi. سيتم متابعة إصدارات صيانة jSlack للمشكلات الأمنية أو إصلاحات الأخطاء الرئيسية على https://github.com/seratch/jslack-maintenance-releases.
نحن نرحب بالمساهمات من الجميع! يرجى مراجعة دليل المساهمين الخاص بنا لمعرفة كيفية المساهمة بطريقة مفيدة وتعاونية.