chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import { ActivityTypes } from 'botbuilder'
|
||||
import { getAdapter, getConversationReference } from '../utils'
|
||||
import * as bp from '.botpress'
|
||||
|
||||
const DEFAULT_TIMEOUT = 5000
|
||||
|
||||
export const startTypingIndicator: bp.IntegrationProps['actions']['startTypingIndicator'] = async ({
|
||||
ctx,
|
||||
client,
|
||||
input,
|
||||
}) => {
|
||||
const { conversationId, timeout } = input
|
||||
const expiration = new Date(Date.now() + (timeout ?? DEFAULT_TIMEOUT))
|
||||
const adapter = getAdapter(ctx.configuration)
|
||||
const convRef = await getConversationReference({ conversationId, client })
|
||||
await adapter.continueConversation(convRef, async (turnContext) => {
|
||||
await turnContext.sendActivity({
|
||||
type: ActivityTypes.Typing,
|
||||
expiration,
|
||||
})
|
||||
})
|
||||
return {}
|
||||
}
|
||||
|
||||
export const stopTypingIndicator: bp.IntegrationProps['actions']['stopTypingIndicator'] = async () => {
|
||||
// Deleting the activity is not supported on all bot framework channels.
|
||||
// Further testing in Teams will be required to determine if deleting the
|
||||
// typing indicator is supported, should we want to stop it early.
|
||||
// Do nothing for now (typing indicator still stops on new message and after timeout)
|
||||
return {}
|
||||
}
|
||||
Reference in New Issue
Block a user