使用botpress与mysql连接聊天机器人



我正在尝试使用Botpress构建一个聊天机器人。我是初学者,寻求您的帮助。其中一个要求是查询数据库来回答问题。我使用mysql als数据库。有人可以在这个话题上帮助我吗? 谢谢。

如果您(仍然(尝试创建一个回答一些预定义问题的聊天机器人,那么有一个名为"QNA"的模块(用于"问题和答案"(。 你可以在这里找到它:https://github.com/botpress/botpress/tree/master/modules/qna

如果未激活NLU模块(自然语言理解(,请不要忘记使用它。
NLU模块在这里: https://github.com/botpress/botpress/tree/master/modules/nlu

您可以使用自定义操作创建 MySQL 数据库实用程序,该实用程序可用于连接 MySQL 数据库并在 MySQL 数据库上执行数据库操作。

在自定义操作中使用 knex 并连接到数据库

const knex = require('knex')({
    client: 'mysql',
    connection: {
      host: 'localhost',
      user: 'root',
      password: 'lamepassword',
      database: 'sys'
    },
    useNullAsDefault: false,
    log: {
      warn(message) {
        console.log(message);
      },
      error(message) {
        console.error(message);
      },
      deprecate(message) {
        console.log(message);
      },
      debug(message) {
        console.log(message);
      },
    }
  });
await knex.raw(query).on('query', function (data) {
      console.log("Executing: " + data.sql)
}).then(function (data) {
  if (data.length == 2 && name === 'get') {
    user.data = data[0][0][key]
  } else if (data.length == 2 && name === 'set') {
    user.data = undefined;
  } else if (data.length == 2 && name === 'update') {
    console.log(data)
  } else {
    user.data = undefined;
  }
}).catch(err => console.log(err));

有关更多详细信息,请查看下面的演示和本教程

https://www.youtube.com/watch?v=zIVnE6bEXZQ