Add METAR to annna. - annna - Annna the nice friendly bot. HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/ DIR Log DIR Files DIR Refs DIR Tags DIR README --- DIR commit 58d3d554ce0e9955b0444a80ed162ecf5a6e2c4d DIR parent a6b2003f535663399675790e9e4e233e77a31892 HTML Author: eidolon <?> Date: Wed, 9 Oct 2024 11:08:49 -0400 Add METAR to annna. Signed-off-by: Annna Robert-Houdin <annna@bitreich.org> Diffstat: M annna-message-common | 4 ++++ A metar | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 0 deletions(-) --- DIR diff --git a/annna-message-common b/annna-message-common @@ -721,6 +721,10 @@ case "${text}" in fi } & ;; +"${ircuser}, METAR for "*|"${ircuser}, metar for "*) + resp=$(metar "$(printf '%.4s\n' "${text##* }")") + annna-say -s "${server}" -c "${channel}" "${user}, ${resp}" + ;; "${ircuser}, how discriminating is "*) word="$(printf "%s\n" "${text}" | cut -c 30- | sed 's,\t, ,g')" case "$word" in DIR diff --git a/metar b/metar @@ -0,0 +1,17 @@ +#!/bin/sh + +if ! id=$(printf '%s\n' "$1" | grep '^[A-Za-z]\{4\}$'); then + printf '%s\n' "invalid ICAO 7910 airport code." + exit 1 +fi + +fmt=raw +uri="https://aviationweather.gov/api/data/metar/" +metar=$(curl -Ssfm 5 --data-urlencode format="$fmt" --data-urlencode ids="$id" "$uri") + +if [ -z "$metar" ]; then + printf '%s\n' "error retrieving METAR for $id." + exit 1 +fi + +printf '%s\n' "$metar"