如何通过GitHub Action实现Discord消息多行换行?
解决GitHub Action发送Discord消息无法换行的问题
问题原因
GitHub Actions传递包含换行的输入参数时,默认会将换行符转换为空格,导致Discord收到的消息无法正常换行。
解决方案
方法1:使用raw参数保留原始格式
Ilshidur的Discord Action提供了raw参数,设置为true后会直接发送原始消息,保留换行符:
on: workflow_dispatch: inputs: message: description: "要发送的消息(支持直接换行)" type: string name: Bot jobs: build: name: Build runs-on: ubuntu-latest steps: - uses: Ilshidur/action-discord@master with: message: "${{ github.event.inputs.message }}" raw: true env: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
方法2:替换换行符为Discord识别的格式
如果raw参数不生效,可以通过GitHub Actions表达式替换,将输入中的换行符转为Discord支持的\n:
on: workflow_dispatch: inputs: message: description: "要发送的消息(支持直接换行)" type: string name: Bot jobs: build: name: Build runs-on: ubuntu-latest steps: - uses: Ilshidur/action-discord@master with: message: "${{ replace(github.event.inputs.message, '\n', '\\n') }}" env: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
使用说明
在Workflow Dispatch的输入框中输入消息时,直接按回车键换行即可,无需额外添加转义字符,上述配置会自动处理换行格式。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

