Slack SDK para Java admite la plataforma Slack de forma idiomática Java. El SDK escrito en Java para que los desarrolladores puedan usarlo en cualquier lenguaje JVM, incluidos Kotlin, Groovy y Scala.
Dentro del SDK, hay dos módulos diferentes:
Si lo que desea hacer es llamar a las API de Slack en sus servicios existentes, le recomendamos usar solo el Cliente API de Slack . Si, en cambio, estás desarrollando una nueva aplicación Slack moderna e interactiva, te recomendamos Bolt . El marco permite a los desarrolladores centrarse en las partes esenciales de sus aplicaciones sin preocuparse por nimiedades.
Bolt para Java es un marco en JVM que ofrece una capa de abstracción para crear aplicaciones de Slack rápidamente utilizando funciones de plataforma modernas. Consulte Introducción a Bolt para obtener instrucciones detalladas.
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
}
}
Para aplicaciones habilitadas para el modo Socket, está disponible Introducción a Bolt (modo Socket).
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 contiene clientes HTTP simples, fáciles de usar y configurables de manera flexible para realizar solicitudes a las API de Slack. Consulte Conceptos básicos del cliente API para obtener más detalles.
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!" ));
La siguiente tabla muestra todos los módulos disponibles en Slack Java SDK. Todos ellos tienen la misma última versión que lanzamos al mismo tiempo, incluso en el caso de que algunos no tengan ningún cambio aparte de las actualizaciones en su lado de dependencia.
Todas las versiones publicadas están disponibles en los repositorios de Maven Central. La última versión es:
ID de grupo: ID de artefacto | Descripción |
---|---|
com.slack.api:perno | Bolt es un marco que ofrece una capa de abstracción para crear aplicaciones de Slack de forma segura y rápida. El entorno de servlet más utilizado es compatible desde el primer momento. |
com.slack.api: modo perno-zócalo | Este módulo ofrece una forma práctica de ejecutar aplicaciones Bolt a través de conexiones en modo Socket. |
com.slack.api:bolt-jetty | Este módulo ofrece una forma práctica de ejecutar aplicaciones Bolt en el servidor Jetty HTTP compatible con Java EE (9.x). |
com.slack.api:bolt-jakarta-embarcadero | Este módulo ofrece una forma práctica de ejecutar aplicaciones Bolt en el servidor HTTP Jetty compatible con Jakarta EE. |
com.slack.api:bolt-aws-lambda | Este módulo ofrece una forma práctica de ejecutar aplicaciones Bolt en AWS API Gateway + Lambda. |
com.slack.api:bolt-google-cloud-functions | Este módulo ofrece una forma práctica de ejecutar aplicaciones Bolt en Google Cloud Functions. |
com.slack.api:bolt-micronauta | Este es un adaptador para que Micronaut ejecute aplicaciones Bolt encima. |
com.slack.api:bolt-helidon | Este es un adaptador para que Helidon SE ejecute aplicaciones Bolt encima. |
com.slack.api:bolt-http4k | Este es un adaptador para http4k para ejecutar aplicaciones Bolt sobre cualquiera de los múltiples servidores backend que admite la biblioteca. |
com.slack.api:bolt-ktor | Este es un adaptador para que Ktor ejecute aplicaciones Bolt encima. |
ID de grupo: ID de artefacto | Descripción |
---|---|
com.slack.api:modelo-api-de-slack | Esta es una colección de clases que representan los objetos principales de Slack, como conversaciones, mensajes, usuarios, bloques y superficies. Como es una parte esencial del SDK, todos los demás módulos dependen de ello. |
com.slack.api: extensión-kotlin-modelo-api-slack | Contiene el constructor Block Kit Kotlin DSL, que le permite definir estructuras de kit de bloques a través de un DSL nativo de Kotlin. |
com.slack.api: cliente-api-slack | Esta es una colección de clientes API de Slack. Los admitidos son los métodos API básicos, el modo de socket, la API RTM (mensajería en tiempo real), la API SCIM, la API de registros de auditoría y la API de estado. |
com.slack.api: extensión-kotlin-cliente-api-slack | Contiene métodos de extensión para varios creadores de mensajes de clientes de Slack para que pueda usar sin problemas Block Kit Kotlin DSL directamente en los creadores de mensajes de Java. |
com.slack.api: backend-aplicación-slack | Este módulo es un conjunto de clases de datos y controladores del lado del servidor de la aplicación Slack para API de eventos, componentes interactivos, comandos de barra diagonal, acciones y flujo de OAuth. Estos son utilizados por la estructura Bolt como base en capas primitivas. |
El SDK es compatible con OpenJDK 8 y versiones LTS superiores .
Los usuarios pueden esperar que cada lanzamiento de parche se haya realizado después de verificar la funcionalidad ejecutando las compilaciones básicas de CI con todas las versiones de LTS y que todas las pruebas unitarias hayan pasado al menos en la última versión de LTS. No realizamos verificaciones exhaustivas con todas las distribuciones de OpenJDK, pero debería funcionar con todas ellas.
Si te quedas atascado, estamos aquí para ayudarte. Las siguientes son las mejores formas de obtener ayuda para solucionar su problema:
El proyecto jSlack ha sido transferido a @slackapi. Las versiones de mantenimiento de jSlack para problemas de seguridad o correcciones de errores importantes continuarán en https://github.com/seratch/jslack-maintenance-releases.
¡Agradecemos las contribuciones de todos! Consulte nuestra Guía del colaborador para saber cómo contribuir de manera útil y colaborativa.