Я отправляю сообщение своему боту с помощью Microsoft BotConnector, но они не регистрируются как обычные сообщения.Для записи сообщений в БД я написал специальный регистратор:
class CustomLogger {
/**
* Log an activity to the transcript file.
* @param activity Activity being logged.
*/
constructor() {
this.conversations = {};
}
logActivity(activity) {
if (activity) {
console.log("Log information")
}
if (!activity) {
throw new Error("Activity is required.");
}
if (activity.conversation) {
var id = activity.conversation.id;
if (id.indexOf("|" !== -1)) {
id = activity.conversation.id.replace(/\|.*/, "");
}
}
if (activity.type === "message") {
Conv.create({
text: activity.text,
conv_id: activity.conversation.id,
from_type: activity.from.role,
message_id: activity.id || activity.replyToId
}).then(() => {
console.log("logged");
});
delete this.conversations[id];
}
}
}
, он прекрасно работает с обычными сообщениями, но не работает с сообщениями, которые отправляются на
POST / v3 / разговор /{разговорId} / деятельность
через соединитель бота Microsoft.
Когда я отправляю сообщение с помощью соединителя бота, он не регистрирует запрос через действие.
Код, который яиспользую для отправки активных сообщений:
/**
* Send message to the user.
*/
function sendMessage(token, conversation, name) {
var config = {
headers: { "Authorization": "Bearer " + token }
};
var bodyParameters = {
"type": "message",
"text": name
}
axios.post(
'https://smba.trafficmanager.net/apis/v3/conversations/29:XXXXXXXXXXXXXXX/activities',
bodyParameters,
config
).then((response) => {
console.log(response)
}).catch((error) => {
console.log(error)
});
}
let name = "Hey, How was your week?";
let conversation = "29:XXXXXXXXXXXXXXX";
run(conversation, name);