class SlackApiClientT[F[_]] extends SlackApiHttpRateControlSupport[F] with SlackApiOAuthClient[F] with SlackApiTestClient[F] with SlackApiAppsClient[F] with SlackApiAuthClient[F] with SlackApiBotsClient[F] with SlackApiChannelsClient[F] with SlackApiChatClient[F] with SlackApiConversationsClient[F] with SlackApiDndClient[F] with SlackApiEmojiClient[F] with SlackApiImClient[F] with SlackApiPinsClient[F] with SlackApiReactionsClient[F] with SlackApiTeamClient[F] with SlackApiUsersClient[F] with SlackApiViewsClient[F] with SlackApiEventsCallbackClient[F]
Slack API client
- Alphabetic
- By Inheritance
- SlackApiClientT
- SlackApiEventsCallbackClient
- SlackApiViewsClient
- SlackApiUsersClient
- SlackApiTeamClient
- SlackApiReactionsClient
- SlackApiPinsClient
- SlackApiImClient
- SlackApiEmojiClient
- SlackApiDndClient
- SlackApiConversationsClient
- SlackApiChatClient
- SlackApiChannelsClient
- SlackApiBotsClient
- SlackApiAuthClient
- SlackApiAppsClient
- SlackApiTestClient
- SlackApiOAuthClient
- SlackApiHttpRateControlSupport
- SlackApiHttpProtocolSupport
- SlackApiClientBackend
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
SlackApiEmptyType = JsonObject
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
SLACK_EMPTY_REQUEST: SlackApiEmptyType
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
checkIfContentTypeIsJson(contentType: MediaType): Boolean
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
def
circeDecodingErrorToApiError(uri: Uri, error: Error, body: String): SlackApiClientError
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
createSlackHttpApiRequest(): RequestT[Empty, Either[String, String], Nothing]
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
def
decodeSlackGeneralResponse(body: String): Either[Error, SlackGeneralResponseParams]
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
def
decodeSlackResponse[RS](uri: Uri, response: Response[Either[String, String]])(implicit decoder: Decoder[RS]): Either[SlackApiClientError, RS]
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
def
encodePostBody[RQ](request: RequestT[Empty, Either[String, String], Nothing], body: RQ)(implicit encoder: Encoder[RQ]): RequestT[Empty, Either[String, String], Nothing]
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getSlackMethodAbsoluteUri(methodUri: String): Uri
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
def
handleSlackEmptyRes[RS](replacement: ⇒ RS)(either: Either[SlackApiClientError, RS]): Either[SlackApiClientError, RS]
Some of Slack responses historically returns HTTP plain text responses with 'Ok' body, instead JSON.
Some of Slack responses historically returns HTTP plain text responses with 'Ok' body, instead JSON. So, this auxiliary function helps to fix and hide this behaviour.
- RS
response type
- replacement
what should be returned instead HTTP OK
- either
a response result to fix
- returns
either other error or fixed empty result
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
- Note
There are very few methods that behave like that, so we're fixing it for those particular functions, instead of generalising this behaviour for other API methods.
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
protectedSlackHttpApiGet[RS](methodUri: String, request: RequestT[Empty, Either[String, String], Nothing], params: Map[String, Option[String]], methodRateControl: Option[SlackApiMethodRateControlParams])(implicit slackApiToken: SlackApiToken, decoder: Decoder[RS], backendType: BackendType[F]): F[Either[SlackApiClientError, RS]]
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
def
protectedSlackHttpApiPost[RQ, RS](methodUri: String, body: RQ, methodRateControl: Option[SlackApiMethodRateControlParams])(implicit slackApiToken: SlackApiToken, encoder: Encoder[RQ], decoder: Decoder[RS], backendType: BackendType[F]): F[Either[SlackApiClientError, RS]]
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
def
protectedSlackHttpApiPost[RQ, RS](absoluteUri: Uri, request: RequestT[Empty, Either[String, String], Nothing], body: RQ, methodRateControl: Option[SlackApiMethodRateControlParams])(implicit slackApiToken: SlackApiToken, encoder: Encoder[RQ], decoder: Decoder[RS], backendType: BackendType[F]): F[Either[SlackApiClientError, RS]]
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
def
sendManagedSlackHttpRequest[RS](request: Request[Either[String, String], Nothing], methodRateControl: Option[SlackApiMethodRateControlParams], slackApiToken: Option[SlackApiToken])(implicit decoder: Decoder[RS], backendType: BackendType[F]): F[Either[SlackApiClientError, RS]]
- Attributes
- protected
- Definition Classes
- SlackApiHttpRateControlSupport → SlackApiHttpProtocolSupport
-
def
sendSlackRequest[RS](request: Request[Either[String, String], Nothing])(implicit decoder: Decoder[RS], backendType: BackendType[F]): F[Either[SlackApiClientError, RS]]
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
def
shutdown(): Unit
Release all resources allocated by a client.
Release all resources allocated by a client. Depends on your configuration, the Slack API client may allocate threads for example.
-
def
slackGeneralResponseToError(uri: Uri, response: Response[Either[String, String]], generalResponseParams: SlackGeneralResponseParams): Option[SlackApiClientError]
- Attributes
- protected
- Definition Classes
- SlackApiHttpProtocolSupport
-
val
sttpBackend: SttpBackendType[F]
- Attributes
- protected
- Definition Classes
- SlackApiClientT → SlackApiClientBackend
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
val
throttler: SlackApiRateThrottler[F]
- Attributes
- protected
- Definition Classes
- SlackApiClientT → SlackApiHttpRateControlSupport
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
withToken[T <: SlackApiToken, RS](token: T)(request: (T) ⇒ (SlackApiClientT[F]) ⇒ F[Either[SlackApiClientError, RS]]): F[Either[SlackApiClientError, RS]]
An auxiliary function to help in for-comprehensions with tokens, where you still can't define implicit vals at the moment:
An auxiliary function to help in for-comprehensions with tokens, where you still can't define implicit vals at the moment:
for { ... tokenValue <- readToken() result <- client.withToken( tokenValue )( implicit token => _.api.test( SlackApiTestRequest() ) ) ... }
- token
a Slack API token
- request
request requires a token
- returns
result of execution
-
object
apps
- Definition Classes
- SlackApiAppsClient
-
object
auth
- Definition Classes
- SlackApiAuthClient
-
object
bots
- Definition Classes
- SlackApiBotsClient
-
object
channels
- Definition Classes
- SlackApiChannelsClient
-
object
chat
- Definition Classes
- SlackApiChatClient
-
object
conversations
- Definition Classes
- SlackApiConversationsClient
-
object
dnd
- Definition Classes
- SlackApiDndClient
-
object
emoji
- Definition Classes
- SlackApiEmojiClient
-
object
events
- Definition Classes
- SlackApiEventsCallbackClient
-
object
http
- Definition Classes
- SlackApiHttpProtocolSupport
-
object
im
- Definition Classes
- SlackApiImClient
-
object
oauth
- Definition Classes
- SlackApiOAuthClient
-
object
pins
- Definition Classes
- SlackApiPinsClient
-
object
reactions
- Definition Classes
- SlackApiReactionsClient
-
object
team
- Definition Classes
- SlackApiTeamClient
-
object
api
- Definition Classes
- SlackApiTestClient
-
object
users
- Definition Classes
- SlackApiUsersClient
-
object
views
- Definition Classes
- SlackApiViewsClient