Hello @germangaggero and @KaiJ17
The issue above addresses the problem here. You have to invoke a stream.
The following worked for me:
import "contrib/sranka/telegram"
import "array"
data = from(bucket: "noaa")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "average_temperature")
|> filter(fn: (r) => r["_field"] == "degrees")
|> filter(fn: (r) => r["location"] == "coyote_creek")
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
|> yield(name: "mean")
|> last()
Alert = data
|> map(
fn: (r) => ({r with
level: if r._value > 0.0 then
"critical"
else
"normal",
}),
)
|> yield(name: "alert")
Alertextract = Alert
|> findRecord(fn: (key) => true, idx: 0)
if Alertextract.level == "critical" then
telegram.message(
url: "https://api.telegram.org/bot",
token: "<mytoken>",
channel: "-100<mychannelID>",
text: "CRIT",
parseMode: "MarkdownV2",
disableWebPagePreview: false,
silent: true,
)
else
0
array.from(rows: [{foo: 0}])