Preston Pan <ret2pop@nullring.xyz> writes:
— src/main.lisp | 9-— 1 file changed, 5 insertions(+), 4 deletions(-)diff –git a/src/main.lisp b/src/main.lisp index d789921..fb74901 100644 — a/src/main.lisp ++ b/src/main.lisp @@ -19,1219,13 @@ (defparameter +feed-room-id"!ShuXi5ohrPUtKHkrNO:matrix.nullring.xyz") (defparameterfeed-cache-path#P"./nullbotcache.sexp") (defparameterfeed-sleep-minutes1)(defparameter +weather-vancouver)
These are supposed to be constants but defining them with `defconstant` is annoying because the repl complains when they are redefined. Usually in CL when a variable is wrapped with '+' signs it means that it's supposed to be constant.
(defparameterprefix"$")-(defun get-temp - (&aux - (endpoint "https://api.weather.gc.ca/collections/swob-realtime/items?f=json&lang=en&url=CYVR&sortby=-date_tm-value&limit=1&properties=date_tm-value,air_temp,air_temp-uom,air_temp-qa") +(defun get-temp (weather-station + &aux + (endpoint (format nil "https://api.weather.gc.ca/collections/swob-realtime/items?f=json&lang=en&url=C~A&sortby=-date_tm-value&limit=1&properties=date_tm-value,air_temp,air_temp-uom,air_temp-qa" weather-station)) (data (jzon:parse (dex:get endpoint)))) (hash-get (aref (gethash "features" data) 0) '("properties" "airtemp")))@@ -41,7 +42,7 @@ ((string= command "$help") (mapi:sendmsg bot room-id "Unlike some other bots, I'm nice :3")) ((string= command "$weather") - (mapi:sendmsg bot room-id (format nil "It's ~a degrees in Vancouver" (get-temp))))))) + (mapi:sendmsg bot room-id (format nil "It's ~a degrees in Vancouver~%It's ~a degrees in Victoria" (get-temp "YVR") (get-temp "YYJ")))))))(defmethod mapi:on-event ((obj nullbot) event room-id
Looks good to me though