我正在使用Microsoft Bot Framework构建Skype机器人。
我已成功接收和发送消息。
我试图以等宽字体格式发回消息。在作为用户的常规Skype客户端中,我至少可以通过两种方式执行此操作,其中一种方法是将{code}标记作为第一行和最后一行。
当我这样做时,我看到传递给我的机器人的消息内容如下所示:
{
"entities": [],
"serviceUrl": "https://skype.botframework.com",
"recipient": {
"name": "REDACTED",
"id": "REDACTED"
},
"from": {
"name": "REDACTED",
"id": "REDACTED"
},
"id": "REDACTED",
"text": "<pre raw_pre=\"{code}\" raw_post=\"{code}\">\nPlease login first.\n\nlogin <PASSWORD>\n\nWHERE\n<PASSWORD> is the password\n<\/pre>",
"type": "message",
"channelId": "skype",
"conversation": {"id": "REDACTED"},
"timestamp": "2016-08-24T13:46:09.569Z"
}
我注意到消息是HTML,包含在PRE中,PRE有一些特殊的属性。
我使用相同的HTML格式发回一条消息:
{
"entities": [],
"serviceUrl": "https://skype.botframework.com",
"recipient": {
"name": "REDACTED",
"id": "REDACTED"
},
"from": {
"name": "REDACTED",
"id": "REDACTED"
},
"id": "REDACTED",
"text": "<pre raw_pre=\"{code}\" raw_post=\"{code}\">\nPlease login first.\n\nlogin <PASSWORD>\n\nWHERE\n<PASSWORD> is the password\n<\/pre>",
"type": "message",
"channelId": "skype",
"conversation": {"id": "REDACTED"},
"timestamp": "2016-08-24T13:46:09.569Z"
}
发送消息但文本是常规字体 - 而不是等宽字体。 HTML似乎正在运行 - &lt;标记等......正确呈现。
这是Skype中对话的样子。蓝色背景文本是我在{code}标签中输入的内容:
我可以在消息中包含哪些标记,以使Skype将其呈现为等宽字体?
答案 0 :(得分:0)
根据documentation,XML格式不支持pre
标记。但您可以使用预样式与Markdown format:
`Please login first.'\n\n\n\n'login <PASSWORD>'\n\n\n\n'WHERE'\n\n'<PASSWORD> is the password`