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

如何在3Commas Webhook消息中添加syminfo.currency与syminfo.basecurrency

解决3Commas Webhook告警动态填充带引号交易对的问题

问题说明

配置3Commas Webhook告警时,需要将syminfo.currency和syminfo.basecurrency拼接为带引号的交易对(如"USDT_BTC")填入请求的pair字段。手动写死交易对可正常运行,但切换交易对或新增告警场景时需反复修改代码,效率低下。尝试动态拼接变量时,给变量添加引号后,告警消息会直接显示' + syminfo.currency + "_" + syminfo.basecurrency + '文本,而非解析后的交易对值,目前已解决下划线拼接问题,但无法为动态生成的交易对添加正确引号。

原始代码示例

// 手动写死交易对(可行)
alert('{  "message_type": "bot",  "bot_id": XXXXXX,  "email_token": "XXXXXX XXXXX XXXXX XXXX",  "delay_seconds": 0,  "pair": "USDT_BTC" }', freq = alertFreq)

// 动态拼接失败的写法
alert('{  "message_type": "bot",  "bot_id": XXXXXX,  "email_token": "XXXXXX XXXXX XXXXX XXXX",  "delay_seconds": 0,  "pair": '  + syminfo.currency + "_" + syminfo.basecurrency +  ' }', freq = alertFreq)

解决方案

核心是将引号作为字符串的一部分参与拼接,而非放在拼接代码的外侧。以下两种写法均可实现需求:

写法一:利用双引号(外层用单引号,内部双引号无需转义)

alert('{  "message_type": "bot",  "bot_id": XXXXXX,  "email_token": "XXXXXX XXXXX XXXXX XXXX",  "delay_seconds": 0,  "pair": "' + syminfo.currency + '_' + syminfo.basecurrency + '" }', freq = alertFreq)

写法二:转义单引号(若偏好使用单引号包裹交易对)

alert('{  "message_type": "bot",  "bot_id": XXXXXX,  "email_token": "XXXXXX XXXXX XXXXX XXXX",  "delay_seconds": 0,  "pair": \'' + syminfo.currency + '_' + syminfo.basecurrency + '\' }', freq = alertFreq)

原理说明

错误写法中,引号被放在了字符串拼接的边界,导致拼接代码被直接当作文本输出。修正后,引号作为字符串片段("'或\'')与变量拼接,最终生成的JSON中pair字段会包含正确的引号,同时syminfo.currency和syminfo.basecurrency会被解析为当前图表的交易对值,实现切换交易对时自动填充的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 22:20:24