bootdesk/chat-sdk

Chat
in package

Table of Contents

Properties

$conversationManager  : ConversationManager
$state  : StateAdapter
$adapterResolver  : AdapterResolver|null
$adapters  : array<string, Adapter>
$broadcaster  : BroadcastAdapter|null
$concurrencyHandler  : ConcurrencyHandler
$dispatcher  : EventDispatcher
$identityResolver  : IdentityResolver|null
$initialized  : bool
$listenerProvider  : ListenerProvider
$messageHandlers  : array<string, callable>
$middleware  : MiddlewareDispatcher
$responseFactory  : ResponseFactoryInterface|null
$stateInitialized  : bool
$transcriptsApi  : TranscriptsApi|null

Methods

__construct()  : mixed
addHeardMiddleware()  : self
addReceivingMiddleware()  : self
addSendingMiddleware()  : self
addSentMiddleware()  : self
addWebhookEventMiddleware()  : self
addWebhookMiddleware()  : self
channel()  : Channel
dispatch()  : object
getAndDeleteModalContext()  : array<string, mixed>|null
getBroadcastAdapter()  : BroadcastAdapter|null
getMiddleware()  : MiddlewareDispatcher
getSendingMiddleware()  : array<string|int, SendingMiddleware>
getTranscripts()  : TranscriptsApi|null
getUser()  : UserInfo|null
handleWebhook()  : ResponseInterface
initialize()  : void
listen()  : self
onAction()  : self
onAppHomeOpened()  : self
onAssistantContextChanged()  : self
onAssistantThreadStarted()  : self
onDirectMessage()  : self
onMemberJoinedChannel()  : self
onMessageCost()  : self
onMessageDelivered()  : self
onMessageFailed()  : self
onMessageRead()  : self
onModalClose()  : self
onModalSubmit()  : self
onNewMention()  : self
onNewMessage()  : self
onOptionsLoad()  : self
onReaction()  : self
onSlashCommand()  : self
onSubscribedMessage()  : self
openDM()  : Thread
processAction()  : void
processAppHomeOpened()  : void
processAssistantContextChanged()  : void
processAssistantThreadStarted()  : void
processMemberJoinedChannel()  : void
processMessage()  : void
processMessageCost()  : void
processMessageDelivered()  : void
processMessageFailed()  : void
processMessageInJob()  : void
processMessageRead()  : void
processModalClose()  : void
processModalSubmit()  : void
processOptionsLoad()  : array<int, array{label: string, value: string}>|null
processReaction()  : void
processSlashCommand()  : void
registerAdapter()  : self
resolveAdapter()  : Adapter|null
resolveIdentity()  : string|null
setBroadcastAdapter()  : void
shutdown()  : void
storeModalContext()  : void
thread()  : Thread
dispatchIncomingMessage()  : void
dispatchOptionsLoadHandlers()  : array<int, array{label: string, value: string}>|null
dispatchStatusEvent()  : void
dispatchWebhookEvent()  : void
inferAdapterFromUserId()  : array<string|int, string>
Infer candidate adapter names based on the userId format.
initAdapter()  : void
rehydrateMessage()  : Message
Rehydrate a message's attachments if the adapter supports it.
runHeardMiddleware()  : MessageContext|null
runReceivingMiddleware()  : Message|null
webhookResponse()  : ResponseInterface

Properties

$initialized

private bool $initialized = false

$messageHandlers

private array<string, callable> $messageHandlers = []

$responseFactory

private ResponseFactoryInterface|null $responseFactory = null

$stateInitialized

private bool $stateInitialized = false

Methods

__construct()

public __construct(StateAdapter $state[, array<string, Adapter$adapters = [] ][, array<string, mixed> $config = [] ][, AdapterResolver|null $adapterResolver = null ][, ResponseFactoryInterface|null $responseFactory = null ][, IdentityResolver|null $identity = null ][, array{logger?: mixed, conversation_factory?: mixed}|null $transcripts = null ][, BroadcastAdapter|null $broadcaster = null ][, ConcurrencyHandler|null $concurrencyHandler = null ]) : mixed
Parameters
$state : StateAdapter
$adapters : array<string, Adapter> = []
$config : array<string, mixed> = []
$adapterResolver : AdapterResolver|null = null
$responseFactory : ResponseFactoryInterface|null = null
$identity : IdentityResolver|null = null
$transcripts : array{logger?: mixed, conversation_factory?: mixed}|null = null
$broadcaster : BroadcastAdapter|null = null
$concurrencyHandler : ConcurrencyHandler|null = null

addHeardMiddleware()

public addHeardMiddleware(HeardMiddleware $middleware[, int $priority = 0 ]) : self
Parameters
$middleware : HeardMiddleware
$priority : int = 0
Return values
self

addSendingMiddleware()

public addSendingMiddleware(SendingMiddleware $middleware[, int $priority = 0 ]) : self
Parameters
$middleware : SendingMiddleware
$priority : int = 0
Return values
self

addSentMiddleware()

public addSentMiddleware(SentMiddleware $middleware[, int $priority = 0 ]) : self
Parameters
$middleware : SentMiddleware
$priority : int = 0
Return values
self

addWebhookMiddleware()

public addWebhookMiddleware(WebhookMiddleware $middleware[, int $priority = 0 ]) : self
Parameters
$middleware : WebhookMiddleware
$priority : int = 0
Return values
self

channel()

public channel(string $channelId) : Channel
Parameters
$channelId : string
Return values
Channel

dispatch()

public dispatch(object $event) : object
Parameters
$event : object
Return values
object

getAndDeleteModalContext()

public getAndDeleteModalContext(string $adapterName, string $contextId) : array<string, mixed>|null
Parameters
$adapterName : string
$contextId : string
Return values
array<string, mixed>|null

getSendingMiddleware()

public getSendingMiddleware() : array<string|int, SendingMiddleware>

Use getMiddleware()->getMiddlewares('sending') instead

Return values
array<string|int, SendingMiddleware>

getUser()

public getUser(string $adapterName, string $userId) : UserInfo|null
Parameters
$adapterName : string
$userId : string
Return values
UserInfo|null

handleWebhook()

public handleWebhook(string $adapterName, ServerRequestInterface $request) : ResponseInterface
Parameters
$adapterName : string
$request : ServerRequestInterface
Return values
ResponseInterface

initialize()

public initialize() : void

listen()

public listen(string $eventClass, callable $listener[, string|array<string|int, string>|null $filter = null ][, int $priority = 0 ]) : self
Parameters
$eventClass : string
$listener : callable
$filter : string|array<string|int, string>|null = null
$priority : int = 0
Return values
self

onAction()

public onAction(string|array<string|int, string>|callable $actionId[, callable|null $handler = null ]) : self

Use listen(ActionEvent::class, $handler, $actionId) instead

Parameters
$actionId : string|array<string|int, string>|callable
$handler : callable|null = null
Return values
self

onAppHomeOpened()

public onAppHomeOpened(callable $handler) : self

Use listen(AppHomeOpenedEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

onAssistantContextChanged()

public onAssistantContextChanged(callable $handler) : self

Use listen(AssistantContextChangedEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

onAssistantThreadStarted()

public onAssistantThreadStarted(callable $handler) : self

Use listen(AssistantThreadStartedEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

onDirectMessage()

public onDirectMessage(callable $handler) : self

Use listen(DmEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

onMemberJoinedChannel()

public onMemberJoinedChannel(callable $handler) : self

Use listen(MemberJoinedChannelEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

onMessageCost()

public onMessageCost(callable $handler) : self

Use listen(MessageCostEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

onMessageDelivered()

public onMessageDelivered(callable $handler) : self

Use listen(MessageDeliveredEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

onMessageFailed()

public onMessageFailed(callable $handler) : self

Use listen(MessageFailedEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

onMessageRead()

public onMessageRead(callable $handler) : self

Use listen(MessageReadEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

onModalClose()

public onModalClose(string|array<string|int, string>|callable $callbackId[, callable|null $handler = null ]) : self

Use listen(ModalCloseEvent::class, $handler, $callbackId) instead

Parameters
$callbackId : string|array<string|int, string>|callable
$handler : callable|null = null
Return values
self

onModalSubmit()

public onModalSubmit(string|array<string|int, string>|callable $callbackId[, callable|null $handler = null ]) : self

Use listen(ModalSubmitEvent::class, $handler, $callbackId) instead

Parameters
$callbackId : string|array<string|int, string>|callable
$handler : callable|null = null
Return values
self

onNewMention()

public onNewMention(callable $handler) : self

Use listen(MentionEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

onNewMessage()

public onNewMessage(string $pattern, callable $handler) : self
Parameters
$pattern : string
$handler : callable
Return values
self

onOptionsLoad()

public onOptionsLoad(string|array<string|int, string>|callable $actionId[, callable|null $handler = null ]) : self

Use listen(OptionsLoadEvent::class, $handler, $actionId) instead

Parameters
$actionId : string|array<string|int, string>|callable
$handler : callable|null = null
Return values
self

onReaction()

public onReaction(string|array<string|int, string>|callable $emoji[, callable|null $handler = null ]) : self

Use listen(ReactionEvent::class, $handler, $emoji) instead

Parameters
$emoji : string|array<string|int, string>|callable
$handler : callable|null = null
Return values
self

onSlashCommand()

public onSlashCommand(string|array<string|int, string>|callable $command[, callable|null $handler = null ]) : self

Use listen(SlashCommandEvent::class, $handler, $command) instead

Parameters
$command : string|array<string|int, string>|callable
$handler : callable|null = null
Return values
self

onSubscribedMessage()

public onSubscribedMessage(callable $handler) : self

Use listen(SubscribedEvent::class, $handler) instead

Parameters
$handler : callable
Return values
self

processAction()

public processAction(Adapter $adapter, string $threadId, string $actionId, string|null $value, string $messageId, Author $user[, string|null $triggerId = null ][, mixed $raw = null ][, string|null $originId = null ][, ServerRequestInterface|null $request = null ]) : void
Parameters
$adapter : Adapter
$threadId : string
$actionId : string
$value : string|null
$messageId : string
$user : Author
$triggerId : string|null = null
$raw : mixed = null
$originId : string|null = null
$request : ServerRequestInterface|null = null

processAppHomeOpened()

public processAppHomeOpened(Adapter $adapter, string $channelId, string $userId[, mixed $raw = null ]) : void
Parameters
$adapter : Adapter
$channelId : string
$userId : string
$raw : mixed = null

processAssistantContextChanged()

public processAssistantContextChanged(Adapter $adapter, string $channelId, string $threadId, string $userId, mixed $context[, string|null $threadTs = null ][, mixed $raw = null ]) : void
Parameters
$adapter : Adapter
$channelId : string
$threadId : string
$userId : string
$context : mixed
$threadTs : string|null = null
$raw : mixed = null

processAssistantThreadStarted()

public processAssistantThreadStarted(Adapter $adapter, string $channelId, string $threadId, string $userId, mixed $context[, string|null $threadTs = null ][, mixed $raw = null ]) : void
Parameters
$adapter : Adapter
$channelId : string
$threadId : string
$userId : string
$context : mixed
$threadTs : string|null = null
$raw : mixed = null

processMemberJoinedChannel()

public processMemberJoinedChannel(Adapter $adapter, string $channelId, string $userId[, string|null $inviterId = null ][, mixed $raw = null ]) : void
Parameters
$adapter : Adapter
$channelId : string
$userId : string
$inviterId : string|null = null
$raw : mixed = null

processMessage()

public processMessage(Adapter $adapter, string $threadId, Message $message[, ServerRequestInterface|null $request = null ]) : void
Parameters
$adapter : Adapter
$threadId : string
$message : Message
$request : ServerRequestInterface|null = null

processMessageCost()

public processMessageCost(string $threadId, array<string|int, string> $messageIds, string $userId[, Money|null $price = null ][, mixed $raw = null ][, string|null $originId = null ]) : void
Parameters
$threadId : string
$messageIds : array<string|int, string>
$userId : string
$price : Money|null = null
$raw : mixed = null
$originId : string|null = null

processMessageDelivered()

public processMessageDelivered(string $threadId, array<string|int, string> $messageIds, string $userId[, mixed $raw = null ][, string|null $originId = null ]) : void
Parameters
$threadId : string
$messageIds : array<string|int, string>
$userId : string
$raw : mixed = null
$originId : string|null = null

processMessageFailed()

public processMessageFailed(string $threadId, array<string|int, string> $messageIds, string $userId[, mixed $raw = null ][, string|null $originId = null ]) : void
Parameters
$threadId : string
$messageIds : array<string|int, string>
$userId : string
$raw : mixed = null
$originId : string|null = null

processMessageInJob()

public processMessageInJob(Adapter $adapter, string $threadId, Message $message[, array<string|int, Message$skippedMessages = [] ][, int $totalSinceLastHandler = 1 ]) : void
Parameters
$adapter : Adapter
$threadId : string
$message : Message
$skippedMessages : array<string|int, Message> = []
$totalSinceLastHandler : int = 1

processMessageRead()

public processMessageRead(string $threadId, string $userId[, mixed $raw = null ][, int|null $timestamp = null ][, string|null $originId = null ]) : void
Parameters
$threadId : string
$userId : string
$raw : mixed = null
$timestamp : int|null = null
$originId : string|null = null

processModalClose()

public processModalClose(Adapter $adapter, string $callbackId, Author $user[, mixed $raw = null ][, string|null $viewId = null ][, string|null $contextId = null ]) : void
Parameters
$adapter : Adapter
$callbackId : string
$user : Author
$raw : mixed = null
$viewId : string|null = null
$contextId : string|null = null

processModalSubmit()

public processModalSubmit(Adapter $adapter, string $callbackId, array<string, mixed> $values, Author $user[, mixed $raw = null ][, string|null $viewId = null ][, string|null $contextId = null ]) : void
Parameters
$adapter : Adapter
$callbackId : string
$values : array<string, mixed>
$user : Author
$raw : mixed = null
$viewId : string|null = null
$contextId : string|null = null

processOptionsLoad()

public processOptionsLoad(Adapter $adapter, string $actionId, string $query, Author $user[, mixed $raw = null ]) : array<int, array{label: string, value: string}>|null
Parameters
$adapter : Adapter
$actionId : string
$query : string
$user : Author
$raw : mixed = null
Return values
array<int, array{label: string, value: string}>|null

processReaction()

public processReaction(Adapter $adapter, string $threadId, string $emoji, string $messageId, Author $user[, bool $added = true ][, string $rawEmoji = '' ][, mixed $raw = null ][, string|null $originId = null ][, ServerRequestInterface|null $request = null ]) : void
Parameters
$adapter : Adapter
$threadId : string
$emoji : string
$messageId : string
$user : Author
$added : bool = true
$rawEmoji : string = ''
$raw : mixed = null
$originId : string|null = null
$request : ServerRequestInterface|null = null

processSlashCommand()

public processSlashCommand(Adapter $adapter, string $channelId, string $command, string $text[, Author|null $user = null ][, mixed $raw = null ][, string|null $triggerId = null ][, ServerRequestInterface|null $request = null ]) : void
Parameters
$adapter : Adapter
$channelId : string
$command : string
$text : string
$user : Author|null = null
$raw : mixed = null
$triggerId : string|null = null
$request : ServerRequestInterface|null = null

registerAdapter()

public registerAdapter(string $name, Adapter $adapter) : self
Parameters
$name : string
$adapter : Adapter
Return values
self

resolveAdapter()

public resolveAdapter(string $name[, ServerRequestInterface|null $request = null ]) : Adapter|null
Parameters
$name : string
$request : ServerRequestInterface|null = null
Return values
Adapter|null

resolveIdentity()

public resolveIdentity(Author $author) : string|null
Parameters
$author : Author
Return values
string|null

shutdown()

public shutdown() : void

storeModalContext()

public storeModalContext(string $adapterName, string $contextId, array<string, mixed> $data[, int $ttlMs = 86400000 ]) : void
Parameters
$adapterName : string
$contextId : string
$data : array<string, mixed>
$ttlMs : int = 86400000

thread()

public thread(string $threadId) : Thread
Parameters
$threadId : string
Return values
Thread

dispatchIncomingMessage()

private dispatchIncomingMessage(Adapter $adapter, string $threadId, Message $message, array<string|int, Message$skippedMessages, int $totalSinceLastHandler) : void
Parameters
$adapter : Adapter
$threadId : string
$message : Message
$skippedMessages : array<string|int, Message>
$totalSinceLastHandler : int

dispatchOptionsLoadHandlers()

private dispatchOptionsLoadHandlers(OptionsLoadEvent $event) : array<int, array{label: string, value: string}>|null
Parameters
$event : OptionsLoadEvent
Return values
array<int, array{label: string, value: string}>|null

dispatchWebhookEvent()

private dispatchWebhookEvent(Adapter $adapter, WebhookEvent $event[, ServerRequestInterface|null $request = null ]) : void
Parameters
$adapter : Adapter
$event : WebhookEvent
$request : ServerRequestInterface|null = null

inferAdapterFromUserId()

Infer candidate adapter names based on the userId format.

private inferAdapterFromUserId(string $userId) : array<string|int, string>
Parameters
$userId : string
Return values
array<string|int, string>

webhookResponse()

private webhookResponse(Adapter $adapter) : ResponseInterface
Parameters
$adapter : Adapter
Return values
ResponseInterface
On this page

Search results