Twilio FlexWebchat 'sendMessage' 触发消息两次
Twilio FlexWebchat 'sendMessage' is triggering the message twice
我正在使用 Twilio Flex WebChat 发送和接收消息。我需要在发送之前修改一条消息。因此,我在 componentDidMount()
中添加了一个侦听器 beforeSendMessage
,我在其中收集消息正文、转换它并发送消息。这里的问题是它同时发送原始消息和转换后的消息。我的目标是单独发送转换后的消息。你能帮帮我吗?谢谢。
componentDidMount() {
FlexWebChat.Actions.addListener(
'beforeSendMessage',
async (payload) => {
const { body, channelSid } = payload;
const modifiedBody = transform(body) //Transforming the message here
await FlexWebChat.Actions.invokeAction('SendMessage', {
body: modifiedBody, // Sending the transformed message
channelSid,
})
}
)
}
发生这种情况的原因是因为您执行了两次 SendMessage。
你可以用监听器做的是修改有效负载并让执行继续,它会继续执行。如果你想阻止消息发送,你可以调用abortFunction()
componentDidMount() {
FlexWebChat.Actions.addListener(
'beforeSendMessage',
async (payload, abortFunction) => {
const { body, channelSid } = payload;
payload.body = transform(body); //Transforming the message here
}
)
}
我正在使用 Twilio Flex WebChat 发送和接收消息。我需要在发送之前修改一条消息。因此,我在 componentDidMount()
中添加了一个侦听器 beforeSendMessage
,我在其中收集消息正文、转换它并发送消息。这里的问题是它同时发送原始消息和转换后的消息。我的目标是单独发送转换后的消息。你能帮帮我吗?谢谢。
componentDidMount() {
FlexWebChat.Actions.addListener(
'beforeSendMessage',
async (payload) => {
const { body, channelSid } = payload;
const modifiedBody = transform(body) //Transforming the message here
await FlexWebChat.Actions.invokeAction('SendMessage', {
body: modifiedBody, // Sending the transformed message
channelSid,
})
}
)
}
发生这种情况的原因是因为您执行了两次 SendMessage。
你可以用监听器做的是修改有效负载并让执行继续,它会继续执行。如果你想阻止消息发送,你可以调用abortFunction()
componentDidMount() {
FlexWebChat.Actions.addListener(
'beforeSendMessage',
async (payload, abortFunction) => {
const { body, channelSid } = payload;
payload.body = transform(body); //Transforming the message here
}
)
}