将DialogFlow代理与Telegram Bot成功集成之后。
我发现双星 "foreignCurrencyExchangeRateOrTenderExchangeOrTimeClockTransaction" : [ {
"reasonCode" : "Store Open",
"systemCycleTypeOrNoSale" : {
"name" : "{http://www.datavantagecorp.com/xstore/}SystemCycleType",
"declaredType" : "java.lang.String",
"scope" : "javax.xml.bind.JAXBElement$GlobalScope",
"value" : "Store Open",
"nil" : false,
"globalScope" : true,
"typeSubstituted" : false
}
} ],
不能将文本设置为粗体。
我知道在sendMessage API中将parse_mode设置为Markdown可以正确解析文本,但是DialogFlow集成在集成时不会显示此类选项。
答案 0 :(得分:1)
要格式化电报消息,您需要发送一个额外的参数parse_mode
,您可以将其设置为html
并以所需的方式格式化文本,例如粗体, 斜体,删除线等
要格式化来自Dialogflow的静态电报消息,您需要在响应中设置电报的自定义有效载荷,如下图所示
要格式化来自Webhook的消息,您需要在响应正文中附加Telegram的自定义有效负载,最终看起来像这样。
{
"fulfillmentText": "",
"fulfillmentMessages": [{
"text": {
"text": [""]
}
}],
"payload": {
"telegram": {
"text": "<b>hello formatted custom telegram text</b>",
"parse_mode": "html"
}
},
"outputContexts": []
}
您可以在这里找到有关Dialogflow丰富消息的更多信息:https://cloud.google.com/dialogflow/docs/intents-rich-messages。
尽管这确实是很晚的反应,但我希望它能帮助那些现在需要它的人。