|
@@ -191,11 +191,21 @@
|
|
|
(defun handle-cmd-charts (chat-id message-id args)
|
|
(defun handle-cmd-charts (chat-id message-id args)
|
|
|
(log:info "handle-cmd-charts" chat-id message-id args)
|
|
(log:info "handle-cmd-charts" chat-id message-id args)
|
|
|
(telegram-send-chat-action chat-id "upload_photo")
|
|
(telegram-send-chat-action chat-id "upload_photo")
|
|
|
- (let ((chart (make-chart *per-minute-rates*))
|
|
|
|
|
- (rates (rest (peek-circular *per-minute-rates*))))
|
|
|
|
|
- (telegram-send-photo chat-id chart
|
|
|
|
|
- :caption (format nil "Зеленый ~A, гейро ~A, британец ~A"
|
|
|
|
|
- (cdar rates) (cdadr rates) (cdaddr rates)))))
|
|
|
|
|
|
|
+ (handler-case
|
|
|
|
|
+ (let* ((usd (or (null args) (find "usd" args :test #'equal)))
|
|
|
|
|
+ (eur (or (null args) (find "eur" args :test #'equal)))
|
|
|
|
|
+ (gbp (or (null args) (find "gbp" args :test #'equal)))
|
|
|
|
|
+ (rates (rest (peek-circular *per-minute-rates*))))
|
|
|
|
|
+ (if (or usd eur gbp)
|
|
|
|
|
+ (telegram-send-photo chat-id
|
|
|
|
|
+ (make-chart *per-minute-rates*
|
|
|
|
|
+ :usd usd :eur eur :gbp gbp)
|
|
|
|
|
+ :caption (format nil "Зеленый ~A, гейро ~A, британец ~A"
|
|
|
|
|
+ (cdar rates) (cdadr rates) (cdaddr rates)))
|
|
|
|
|
+ (telegram-send-message chat-id "Хуй тебе")))
|
|
|
|
|
+ (error (e)
|
|
|
|
|
+ (log:error e)
|
|
|
|
|
+ (telegram-send-message chat-id "Хуйня какая-то"))))
|
|
|
|
|
|
|
|
;; Weather
|
|
;; Weather
|
|
|
(defun handle-cmd-weather (chat-id message-id args)
|
|
(defun handle-cmd-weather (chat-id message-id args)
|