如何在 Rasa X 中发出带有超链接的动态消息?

问题描述

如何发出消息、显示基于数据表的结果并在文本中附加超链接
我要实现的目标的示例:

    num = phone_format(str(sheet["" + chr(ord(requested_info_column)+1) + "{}".format(row)].value))
    dispatcher.utter_message(text="The " + column_names[requested_info_column] 
       + " for the " + str(sheet["B{}".format(row)].value) + " project is "
       + str(sheet["" + str(requested_info_column) + "{}".format(row)].value)
       + " and can be reached at " + num)

格式化方法

def phone_format(n):
   formatNum = '({}){}-{}'.format(n[0:3],n[3:6],n[6:])
   hypNum = '<a href="tel:%s">%s</a>' % (n,formatNum)
   return  hypNum


我遇到的问题是 Rasa X 显示带有正确数据的字符串,但超链接未附加到电话号码。

解决方法

不同平台在前端显示链接的方式不同。 Rasa X 使用 Markdown 格式显示链接。

因此,您需要使用 Markdown 链接格式而不是普通的锚标记进行显示。

改变

hypNum = '<a href="tel:%s">%s</a>' % (n,formatNum)

到这里

hypNum = '[%s](tel:%s)' % (formatNum,n)

希望这能解决您的问题。