You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tasker通过Discord Webhook自动转发通知失败问题咨询

Tasker Discord Webhook 转发通知无内容问题排查方案

核心问题分析

你的情况说明Webhook本身配置正常,问题出在通知变量的获取、解析或JSON格式兼容性上——因为替换为系统参数能正常发送,排除了Webhook链接、Tasker网络权限等基础问题。

具体排查与修复步骤

1. 替换不可靠的%evtprm变量,改用Tasker专属通知变量

%evtprm系列变量的索引会随事件类型变化,容易映射错误。Tasker的「Notification Received」事件提供了更稳定的专属变量:

  • %napp:发送通知的应用名称
  • %ntitle:通知标题
  • %ntext:通知内容文本
  • %npackage:应用包名

修改后的请求体示例:

{
  "content": "%ntext",
  "username": "%napp",
  "embeds": [{
    "title": "%ntitle",
    "description": "%ntext"
  }]
}

2. 验证通知变量是否有有效值

在Tasker流程中添加「Flash」动作,触发时显示%napp、%ntitle、%ntext的值:

  • 如果某个变量为空,说明该通知本身无对应内容(比如部分通知只有标题没有文本),需添加「If」动作判断变量是否存在后再发送
  • 如果变量包含双引号、换行符、特殊Emoji等,会破坏JSON结构,导致Discord拒绝请求

3. 处理通知内容中的特殊字符

若通知文本含特殊字符,先对内容编码:

  1. 在「HTTP Request」动作前添加「HTML Encode」动作,将%ntext编码为%encoded_text
  2. 修改请求体,用编码后的变量替代原变量:
{
  "content": "%encoded_text",
  "username": "%napp",
  "embeds": [{
    "title": "%ntitle",
    "description": "%encoded_text"
  }]
}

4. 确认HTTP请求头配置

在Tasker的「HTTP Request」动作中必须设置:

  • 请求方法:POST
  • 内容类型:application/json(在「Advanced」选项中配置)
  • Webhook URL需完全正确,无多余字符或换行

5. 逐步简化请求定位故障点

先发送最简化的请求测试:

{"content": "%ntext"}

如果能成功发送,再逐步添加username和embeds字段,定位具体是哪个部分导致的问题。

内容的提问来源于stack exchange,提问作者hygtrk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:16:03