gpt4 book ai didi

javascript - 拦截用户消息并对其进行修改,bot框架

转载 作者:行者123 更新时间:2023-11-28 17:10:55 27 4
gpt4 key购买 nike

我正在使用带有直线的机器人框架,我想在将用户的消息发送到服务器进行修改之前拦截用户的消息。

这个想法是,如果用户输入一些电话号码、信用卡等,请通过星号等修改消息的该部分,并且不会将带有该数据的消息传输到服务器。我尝试配置某些事件或事件,但无法执行此操作。

我尝试使用javascript,为inputBox和按钮创建一个addeventlistener,但是当该事件启动时,消息无法再修改

有什么想法吗?

conect.activity$
.filter(function (activity) {
return activity.type === 'endOfConversation';
})
.subscribe(function (activity) {
console.log('RemoveLocalStorage endOfConversation');
RemoveLocalStorage("paramCon");
});

BotChat.App({
botConnection : conect,
speechOptions: speechOptions,
user: user,
bot: bot,
typing:false,
locale: (params.locale !== undefined) ? params.locale : "es-es",
resize: 'detect'
},window.parent.frames["chatBot"].document.getElementById('bot'));
//window.frames[0].document.getElementById('bot')
//document.getElementById("bot")

window.parent.frames["chatBot"].document.getElementsByClassName("wc-send")[0].addEventListener("click", disableSensitiveData);
window.parent.frames["chatBot"].document.getElementsByClassName("wc-textbox")[0].addEventListener("keyup", disableSensitiveData);

最佳答案

您可以创建一个自定义中间件来拦截并修改用户点击发送时消息的文本属性。我在下面的 Webchat V3 和 V4 中创建了示例,将整个消息转换为星号。

网络聊天V4

// We are adding a new middleware to customize the behavior of WEB_CHAT/SEND_MESSAGE.
const store = window.WebChat.createStore(
{},
({ dispatch }) => next => action => {
if (action.type === 'WEB_CHAT/SEND_MESSAGE') {
// Edit text when user sends message
action.payload.text = action.payload.text.split('').map(_ => '*').join('')
}
return next(action);
}
);

window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ token }),
store
}, document.getElementById('webchat'));

查看 WebChat Repository有关 v4 的更多示例和信息。

网络聊天V3

我们将修改机器人处理发布事件的方式,以拦截和修改来自用户的消息。

var dl = new BotChat.DirectLine({ secret: '<SECRET>' });

BotChat.App({
botConnection: Object.assign({}, dl, {
postActivity: activity => {
// Edit text when user sends message
activity.text = activity.text.split('').map(_ => '*').join('');
return dl.postActivity(activity);
}
}),
bot: 'bot',
user: 'user',
resize: 'detect',
}, document.getElementById('bot'));

希望这有帮助!

关于javascript - 拦截用户消息并对其进行修改,bot框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54465391/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com