MS Teams( `` `)にマークダウン形式を入力する場合、文字列に改行を作成するにはどうすればよいですか?人間がマークダウン形式で入力する場合、Enterキーを押すと改行になります。テキストに<br>
、\n
、または\r\n
が含まれる文字列をコネクタに送信すると、改行が作成されません。マークダウンをエスケープし、<br>
を入力して、もう一度マークダウンを入力できることがわかりましたが、その後、各行を再フォーマットして空白を削除します。
では、どうすれば改行を作成して間隔を維持できますか?
これが問題になる場合は、pymsteamsコネクタを使用しています。
編集:コード例の追加
import pymsteams
msg = pymsteams.connectorcard('...')
txt = '``` some text \n second line ```'
msg.text(txt)
msg.send()
txt = '``` some text \r\n second line ```'
とtxt = '``` some text <br> second line ```'
も試しましたが、3つのオプションのいずれも「テキスト」と「2行目」の間に改行を挿入しません。
マークダウンでテキスト付きのコネクタカードを送信しようとしている場合は、テキストをトリプルバッククォートで囲む必要はありません(特にフォーマット済みのテキストが必要な場合を除く)。 markdown
プロパティをfalseに設定しない限り、コネクタカード内のテキストは自動的にマークダウンとして扱われます。
マークダウンに改行を追加するには、3つのスペースと改行で行を終了します。例えば:
msg.text("Line 1 \nLine 2")
ボットから送信されたコネクタカード:
事前にフォーマットされたテキストを取得するためにこれらのトリプルバックティックを追加した場合、複数行のテキストを許可するには、バックティックを独自の行に配置する必要があります。例えば:
msg.text("```\nLine 1\nLine 2\n```")
コネクタから送信されるコネクタカード:
コネクタを開発している場合、または着信Webhookコネクタを使用している場合は、「 `` `」マークダウンを<pre>
タグに変換しない別のパーサーを使用します。 Billが以下に提案するように、HTMLにフォールバックするのが最善です。例えば:
msg.text("<pre>Line 1\nLine 2</pre>")
HTMLタグは<pre>
要素内で機能するため、ご存知のとおり、これは同等です。
msg.text("<pre>Line 1<br>Line 2</pre>")