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

Fastfile编写Ruby Telegram通知器报unexpected tIDENTIFIER语法错误求助

错误原因
  • 引号嵌套冲突:你使用双引号包裹sh执行的整条命令,但命令内部JSON部分的双引号没有做转义处理,Ruby解析字符串时会提前判定字符串结束,后续的chat_id等内容被识别为非法标识符,触发语法报错。
  • 代码块不闭合:lane :detox do 代码块缺少对应的闭合end,不符合Ruby语法规则。
修复方案

推荐使用Ruby定界字符串%{}包裹命令,避免嵌套引号转义的问题,同时补全缺失的闭合标签,修改后代码如下:

lane :detox do
  images = Dir.glob("folder/*.png")
  images.each do |image|
    puts image
    sh %{curl --request POST --header 'Content-Type: application/json' --data '{"chat_id": "123456789", "media": [{"type": "photo", "media": "attach://#{image}"}]}' https://api.telegram.org/botToken/sendMediaGroup}
  end
end

注:如果不需要把遍历到的图片路径传入命令,可去掉#{image}插值语法替换为固定值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:45:04