Chat
in package
Table of Contents
Properties
- $conversationManager : ConversationManager
- $state : StateAdapter
- $adapterResolver : AdapterResolver|null
- $adapters : array<string, Adapter>
- $broadcaster : BroadcastAdapter|null
- $concurrentSlots : array<string, int>
- $config : array<string|int, mixed>
- $dispatcher : EventDispatcher
- $identityResolver : Closure|null
- $initialized : bool
- $listenerProvider : ListenerProvider
- $messageHandlers : array<string, callable>
- $middleware : MiddlewareDispatcher
- $responseFactory : ResponseFactoryInterface|null
- $stateInitialized : bool
- $transcriptsApi : TranscriptsApi|null
Methods
- __construct() : mixed
- addReceivingMiddleware() : self
- addSendingMiddleware() : self
- addWebhookEventMiddleware() : self
- addWebhookMiddleware() : self
- channel() : Channel
- getAndDeleteModalContext() : array<string|int, 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
- onMessageDelivered() : self
- onMessageFailed() : self
- onMessageRead() : self
- onModalClose() : self
- onModalSubmit() : self
- onNewMention() : self
- onNewMessage() : self
- onOptionsLoad() : self
- onReaction() : self
- onSlashCommand() : self
- onSubscribedMessage() : self
- openDM() : string|null
- processAction() : void
- processAppHomeOpened() : void
- processAssistantContextChanged() : void
- processAssistantThreadStarted() : void
- processMemberJoinedChannel() : void
- processMessage() : void
- processMessageDelivered() : void
- processMessageFailed() : void
- processMessageRead() : void
- processModalClose() : void
- processModalSubmit() : void
- processOptionsLoad() : array<string|int, mixed>|null
- processReaction() : void
- processSlashCommand() : void
- registerAdapter() : self
- resolveAdapter() : Adapter|null
- resolveIdentity() : string|null
- setBroadcastAdapter() : void
- shutdown() : void
- storeModalContext() : void
- thread() : Thread
- dequeueAll() : array<string|int, Message>
- dispatch() : object
- dispatchIncomingMessage() : void
- dispatchOptionsLoadHandlers() : array<string|int, mixed>|null
- dispatchStatusEvent() : void
- dispatchWebhookEvent() : void
- drainAllQueued() : void
- initAdapter() : void
- processConcurrent() : void
- processDebounce() : void
- processDrop() : void
- processQueue() : void
- runReceivingMiddleware() : Message|null
- webhookResponse() : ResponseInterface
Properties
$conversationManager read-only
public
ConversationManager
$conversationManager
$state read-only
public
StateAdapter
$state
$adapterResolver
private
AdapterResolver|null
$adapterResolver
= null
$adapters
private
array<string, Adapter>
$adapters
= []
$broadcaster
private
BroadcastAdapter|null
$broadcaster
= null
$concurrentSlots
private
array<string, int>
$concurrentSlots
= []
$config read-only
private
array<string|int, mixed>
$config
= []
$dispatcher read-only
private
EventDispatcher
$dispatcher
$identityResolver
private
Closure|null
$identityResolver
= null
$initialized
private
bool
$initialized
= false
$listenerProvider read-only
private
ListenerProvider
$listenerProvider
$messageHandlers
private
array<string, callable>
$messageHandlers
= []
$middleware read-only
private
MiddlewareDispatcher
$middleware
$responseFactory
private
ResponseFactoryInterface|null
$responseFactory
= null
$stateInitialized
private
bool
$stateInitialized
= false
$transcriptsApi
private
TranscriptsApi|null
$transcriptsApi
= null
Methods
__construct()
public
__construct(StateAdapter $state[, array<string|int, mixed> $adapters = [] ][, array<string|int, mixed> $config = [] ][, AdapterResolver|null $adapterResolver = null ][, ResponseFactoryInterface|null $responseFactory = null ][, callable|null $identity = null ][, array<string|int, mixed>|null $transcripts = null ][, BroadcastAdapter|null $broadcaster = null ]) : mixed
Parameters
- $state : StateAdapter
- $adapters : array<string|int, mixed> = []
- $config : array<string|int, mixed> = []
- $adapterResolver : AdapterResolver|null = null
- $responseFactory : ResponseFactoryInterface|null = null
- $identity : callable|null = null
- $transcripts : array<string|int, mixed>|null = null
- $broadcaster : BroadcastAdapter|null = null
addReceivingMiddleware()
public
addReceivingMiddleware(ReceivingMiddleware $middleware) : self
Parameters
- $middleware : ReceivingMiddleware
Return values
selfaddSendingMiddleware()
public
addSendingMiddleware(SendingMiddleware $middleware) : self
Parameters
- $middleware : SendingMiddleware
Return values
selfaddWebhookEventMiddleware()
public
addWebhookEventMiddleware(WebhookEventMiddleware $middleware) : self
Parameters
- $middleware : WebhookEventMiddleware
Return values
selfaddWebhookMiddleware()
public
addWebhookMiddleware(WebhookMiddleware $middleware) : self
Parameters
- $middleware : WebhookMiddleware
Return values
selfchannel()
public
channel(string $channelId) : Channel
Parameters
- $channelId : string
Return values
ChannelgetAndDeleteModalContext()
public
getAndDeleteModalContext(string $adapterName, string $contextId) : array<string|int, mixed>|null
Parameters
- $adapterName : string
- $contextId : string
Return values
array<string|int, mixed>|nullgetBroadcastAdapter()
public
getBroadcastAdapter() : BroadcastAdapter|null
Return values
BroadcastAdapter|nullgetMiddleware()
public
getMiddleware() : MiddlewareDispatcher
Return values
MiddlewareDispatchergetSendingMiddleware()
public
getSendingMiddleware() : array<string|int, SendingMiddleware>
Use getMiddleware()->getMiddlewares('sending') instead
Return values
array<string|int, SendingMiddleware>getTranscripts()
public
getTranscripts() : TranscriptsApi|null
Return values
TranscriptsApi|nullgetUser()
public
getUser(string $adapterName, string $userId) : UserInfo|null
Parameters
- $adapterName : string
- $userId : string
Return values
UserInfo|nullhandleWebhook()
public
handleWebhook(string $adapterName, ServerRequestInterface $request) : ResponseInterface
Parameters
- $adapterName : string
- $request : ServerRequestInterface
Return values
ResponseInterfaceinitialize()
public
initialize() : void
listen()
public
listen(string $eventClass, callable $listener[, string|array<string|int, mixed>|null $filter = null ][, int $priority = 0 ]) : self
Parameters
- $eventClass : string
- $listener : callable
- $filter : string|array<string|int, mixed>|null = null
- $priority : int = 0
Return values
selfonAction()
public
onAction(string|array<string|int, mixed>|callable $actionId[, callable|null $handler = null ]) : self
Use listen(ActionEvent::class, $handler, $actionId) instead
Parameters
- $actionId : string|array<string|int, mixed>|callable
- $handler : callable|null = null
Return values
selfonAppHomeOpened()
public
onAppHomeOpened(callable $handler) : self
Use listen(AppHomeOpenedEvent::class, $handler) instead
Parameters
- $handler : callable
Return values
selfonAssistantContextChanged()
public
onAssistantContextChanged(callable $handler) : self
Use listen(AssistantContextChangedEvent::class, $handler) instead
Parameters
- $handler : callable
Return values
selfonAssistantThreadStarted()
public
onAssistantThreadStarted(callable $handler) : self
Use listen(AssistantThreadStartedEvent::class, $handler) instead
Parameters
- $handler : callable
Return values
selfonDirectMessage()
public
onDirectMessage(callable $handler) : self
Use listen(DmEvent::class, $handler) instead
Parameters
- $handler : callable
Return values
selfonMemberJoinedChannel()
public
onMemberJoinedChannel(callable $handler) : self
Use listen(MemberJoinedChannelEvent::class, $handler) instead
Parameters
- $handler : callable
Return values
selfonMessageDelivered()
public
onMessageDelivered(callable $handler) : self
Use listen(MessageDeliveredEvent::class, $handler) instead
Parameters
- $handler : callable
Return values
selfonMessageFailed()
public
onMessageFailed(callable $handler) : self
Use listen(MessageFailedEvent::class, $handler) instead
Parameters
- $handler : callable
Return values
selfonMessageRead()
public
onMessageRead(callable $handler) : self
Use listen(MessageReadEvent::class, $handler) instead
Parameters
- $handler : callable
Return values
selfonModalClose()
public
onModalClose(string|array<string|int, mixed>|callable $callbackId[, callable|null $handler = null ]) : self
Use listen(ModalCloseEvent::class, $handler, $callbackId) instead
Parameters
- $callbackId : string|array<string|int, mixed>|callable
- $handler : callable|null = null
Return values
selfonModalSubmit()
public
onModalSubmit(string|array<string|int, mixed>|callable $callbackId[, callable|null $handler = null ]) : self
Use listen(ModalSubmitEvent::class, $handler, $callbackId) instead
Parameters
- $callbackId : string|array<string|int, mixed>|callable
- $handler : callable|null = null
Return values
selfonNewMention()
public
onNewMention(callable $handler) : self
Use listen(MentionEvent::class, $handler) instead
Parameters
- $handler : callable
Return values
selfonNewMessage()
public
onNewMessage(string $pattern, callable $handler) : self
Parameters
- $pattern : string
- $handler : callable
Return values
selfonOptionsLoad()
public
onOptionsLoad(string|array<string|int, mixed>|callable $actionId[, callable|null $handler = null ]) : self
Use listen(OptionsLoadEvent::class, $handler, $actionId) instead
Parameters
- $actionId : string|array<string|int, mixed>|callable
- $handler : callable|null = null
Return values
selfonReaction()
public
onReaction(string|array<string|int, mixed>|callable $emoji[, callable|null $handler = null ]) : self
Use listen(ReactionEvent::class, $handler, $emoji) instead
Parameters
- $emoji : string|array<string|int, mixed>|callable
- $handler : callable|null = null
Return values
selfonSlashCommand()
public
onSlashCommand(string|array<string|int, mixed>|callable $command[, callable|null $handler = null ]) : self
Use listen(SlashCommandEvent::class, $handler, $command) instead
Parameters
- $command : string|array<string|int, mixed>|callable
- $handler : callable|null = null
Return values
selfonSubscribedMessage()
public
onSubscribedMessage(callable $handler) : self
Use listen(SubscribedEvent::class, $handler) instead
Parameters
- $handler : callable
Return values
selfopenDM()
public
openDM(string $adapterName, string $userId) : string|null
Parameters
- $adapterName : string
- $userId : string
Return values
string|nullprocessAction()
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 ]) : void
Parameters
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) : void
Parameters
processMessageDelivered()
public
processMessageDelivered(string $threadId, array<string|int, mixed> $messageIds, string $userId[, mixed $raw = null ][, string|null $originId = null ]) : void
Parameters
- $threadId : string
- $messageIds : array<string|int, mixed>
- $userId : string
- $raw : mixed = null
- $originId : string|null = null
processMessageFailed()
public
processMessageFailed(string $threadId, array<string|int, mixed> $messageIds, string $userId[, mixed $raw = null ][, string|null $originId = null ]) : void
Parameters
- $threadId : string
- $messageIds : array<string|int, mixed>
- $userId : string
- $raw : mixed = null
- $originId : string|null = null
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
processModalSubmit()
public
processModalSubmit(Adapter $adapter, string $callbackId, array<string|int, mixed> $values, Author $user[, mixed $raw = null ][, string|null $viewId = null ][, string|null $contextId = null ]) : void
Parameters
processOptionsLoad()
public
processOptionsLoad(Adapter $adapter, string $actionId, string $query, Author $user[, mixed $raw = null ]) : array<string|int, mixed>|null
Parameters
Return values
array<string|int, mixed>|nullprocessReaction()
public
processReaction(Adapter $adapter, string $threadId, string $emoji, string $messageId, Author $user[, bool $added = true ][, string $rawEmoji = '' ][, mixed $raw = null ][, string|null $originId = null ]) : void
Parameters
processSlashCommand()
public
processSlashCommand(Adapter $adapter, string $channelId, string $command, string $text[, Author|null $user = null ][, mixed $raw = null ][, string|null $triggerId = null ]) : void
Parameters
registerAdapter()
public
registerAdapter(string $name, Adapter $adapter) : self
Parameters
- $name : string
- $adapter : Adapter
Return values
selfresolveAdapter()
public
resolveAdapter(string $name[, ServerRequestInterface|null $request = null ]) : Adapter|null
Parameters
- $name : string
- $request : ServerRequestInterface|null = null
Return values
Adapter|nullresolveIdentity()
public
resolveIdentity(Author $author) : string|null
Parameters
- $author : Author
Return values
string|nullsetBroadcastAdapter()
public
setBroadcastAdapter(BroadcastAdapter $broadcaster) : void
Parameters
- $broadcaster : BroadcastAdapter
shutdown()
public
shutdown() : void
storeModalContext()
public
storeModalContext(string $adapterName, string $contextId, array<string|int, mixed> $data[, int $ttlMs = 86400000 ]) : void
Parameters
- $adapterName : string
- $contextId : string
- $data : array<string|int, mixed>
- $ttlMs : int = 86400000
thread()
public
thread(string $threadId) : Thread
Parameters
- $threadId : string
Return values
ThreaddequeueAll()
private
dequeueAll(string $threadId, Handler $handler) : array<string|int, Message>
Parameters
- $threadId : string
- $handler : Handler
Return values
array<string|int, Message>dispatch()
private
dispatch(object $event) : object
Parameters
- $event : object
Return values
objectdispatchIncomingMessage()
private
dispatchIncomingMessage(Adapter $adapter, string $threadId, Message $message, array<string|int, mixed> $skippedMessages, int $totalSinceLastHandler) : void
Parameters
dispatchOptionsLoadHandlers()
private
dispatchOptionsLoadHandlers(OptionsLoadEvent $event) : array<string|int, mixed>|null
Parameters
- $event : OptionsLoadEvent
Return values
array<string|int, mixed>|nulldispatchStatusEvent()
private
dispatchStatusEvent(WebhookEvent $event) : void
Parameters
- $event : WebhookEvent
dispatchWebhookEvent()
private
dispatchWebhookEvent(Adapter $adapter, WebhookEvent $event) : void
Parameters
- $adapter : Adapter
- $event : WebhookEvent
drainAllQueued()
private
drainAllQueued(Adapter $adapter, string $threadId, Handler $handler) : void
Parameters
initAdapter()
private
initAdapter(Adapter $adapter) : void
Parameters
- $adapter : Adapter
processConcurrent()
private
processConcurrent(Adapter $adapter, string $threadId, Message $message, int $maxConcurrent) : void
Parameters
processDebounce()
private
processDebounce(Adapter $adapter, string $threadId, string $lockKey, Message $message, Handler $handler, int $debounceMs, int $maxQueueSize) : void
Parameters
processDrop()
private
processDrop(Adapter $adapter, string $threadId, string $lockKey, Message $message, Handler $handler) : void
Parameters
processQueue()
private
processQueue(Adapter $adapter, string $threadId, string $lockKey, Message $message, Handler $handler, int $maxQueueSize) : void
Parameters
runReceivingMiddleware()
private
runReceivingMiddleware(Message|null $message, Adapter $adapter) : Message|null
Parameters
Return values
Message|nullwebhookResponse()
private
webhookResponse(Adapter $adapter) : ResponseInterface
Parameters
- $adapter : Adapter