1616
1717package ai.tock.bot.connector.web
1818
19+ import ai.tock.bot.engine.action.ActionFeedback
1920import ai.tock.bot.engine.action.ActionMetadata
21+ import ai.tock.bot.engine.action.FeedbackVote
2022import ai.tock.bot.engine.action.SendChoice
2123import ai.tock.bot.engine.action.SendChoice.Companion.REFERRAL_PARAMETER
2224import ai.tock.bot.engine.action.SendSentence
2325import ai.tock.bot.engine.event.Event
26+ import ai.tock.bot.engine.event.FeedbackEvent
2427import ai.tock.bot.engine.event.ReferralParametersEvent
2528import ai.tock.bot.engine.user.PlayerId
2629import ai.tock.bot.engine.user.PlayerType.bot
@@ -37,6 +40,7 @@ data class WebConnectorRequest(
3740 override val returnsHistory : Boolean = false ,
3841 override val sourceWithContent : Boolean = false ,
3942 override val streamedResponse : Boolean = false ,
43+ override val feedback : FeedbackParams ? = null ,
4044) : WebConnectorRequestContract {
4145 fun toEvent (applicationId : String ): Event =
4246 if (query != null ) {
@@ -52,6 +56,14 @@ data class WebConnectorRequest(
5256 streamedResponse = streamedResponse,
5357 ),
5458 )
59+ } else if (feedback != null ) {
60+ FeedbackEvent (
61+ userId = PlayerId (userId),
62+ applicationId = applicationId,
63+ recipientId = PlayerId (applicationId, bot),
64+ actionId = feedback.actionId,
65+ feedback = feedback.vote?.let { ActionFeedback (vote = FeedbackVote .valueOf(it)) },
66+ )
5567 } else if (payload != null ) {
5668 val (intent, parameters) = SendChoice .decodeChoiceId(payload)
5769 SendChoice (
0 commit comments