有没有办法通过代码跳转到Watson中的对话节点?

Is there a way to jump to a dialog Node in Watson by code?

在 Watson 对话中,我做的第一件事就是询问用户 ID。我在 python 中收到它,并检查我拥有的一个简单数据库,如果那里存在 id(这是一个非常简单的逻辑)。

现在,如果用户不在我的数据库中,我想要跳转到节点 1。所以我正在寻找 in python 的东西来这样做,因为 Watson 无法检查我的数据库。

我一直在看一些信息。 this was the most usefull, but I searched for .

寻找插槽和处理程序对我来说也很有趣,但同样,这无法签入我的简单数据库。

我期待这样的事情:

我做了一个简单的功能,以便了解我想做什么:

def checkingId(bot, update):
    message=update.message.text #let's suppose it is already parsed, to make it simpler
    result=cursor.execute("select name from users where id=message")

    if(result!=None): #so if the id exists in the table
        #no problem here, keep it going like normal watson would do
                whatever()

    else:
        jumpToNode1InWatson (???)

我也看到json(?)里面可能有这个参数dialog_node": "node1 or whatever it is",所以我可以通过python访问这个,但是我没有找到任何相关的东西关于它。

source of that

提前致谢。如果您认为可以编辑问题以改进它,请对其进行评论,我会尽力做到这一点。

这个IBM Cloud solution tutorial for a database-driven chatbot has code to interact with a DB from Watson Assistant. The related GitHub repo shows it for Db2 and PostgreSQL. It is done via an IBM Cloud Functions action. The other option is to use a client-side dialog action.

现在,一旦您检查了 ID,您就可以设置一个变量。在对话树中,您可能会遇到 ID 存在或具有特定值的条件,以处理对话节点或切换到对话树的该分支。因此,您将强制 Watson Assistant 进入您的预期处理过程。