我目前正在研究Bot,在我的项目中,我想存储机器人数据(即用户,会话和私人会话属性包),基本上是用户输入和响应使用Node.js在azure存储中返回的内容。我可以登录控制台但不能登录天蓝色存储。
请告诉我如何实施上述概念。
答案 0 :(得分:1)
要在Azure表存储中存储会话状态数据,您可以轻松利用Manage custom state data with Azure Table storage for Node.js。
要存储整个会话消息历史记录,您可以利用receive
和send
中间件,添加自定义逻辑以将历史记录插入到talbe存储中。请考虑以下代码段:
bot.use({
receive: (evt, next) => {
console.log(evt);
if (evt.type == 'message') {
azureTableClient.insertOrReplace(evt.address.user.id + `-` + new Date().valueOf(), evt.type, `[USER to BOT]: ${evt.text}`, false, ((err, etag, res) => {
if (err) {
console.log(er)
}
}))
}
next();
},
send: (evt, next) => {
// console.log(evt);
azureTableClient.insertOrReplace(evt.address.user.id + `-` + new Date().valueOf(), evt.type, `[BOT to USER]: ${evt.text}`, false, ((err, etag, res) => {
if (err) {
console.log(er)
}
}))
next();
}
})