ソースを参照

saver: show salary amount and fix no income response

Innocenty Enikeev 8 年 前
コミット
397f502677
1 ファイル変更5 行追加4 行削除
  1. 5 4
      plugins/saver.lisp

+ 5 - 4
plugins/saver.lisp

@@ -263,12 +263,13 @@
              for idx from (1+ (length expenses))
              for info = (saver/get-income-info payment payments moment)
              when info
-             collect (format nil "~D) ~A по [[~A]]: *~A*, отложить _~$_"
+             collect (format nil "~D) ~A по [[~A]]: *~A*, отложить _~$_ из _~$_"
                              idx
                              (saver/payment-name payment)
                              (saver/payment-schedule payment)
                              (%saver/format-time (saver/payment-next-time payment moment))
-                             (/ (getf info :next-save) 100))))
+                             (/ (getf info :next-save) 100)
+                             (/ (saver/payment-amount payment) 100))))
          (closest-income (saver/find-next-payment incomes moment))
          (closest-income-info (and closest-income (saver/get-income-info closest-income payments moment))))
     (if (or expenses-info incomes-info)
@@ -286,9 +287,9 @@
 
 (defun saver/send-info (chat-id)
   (let ((payments (db/saver/get-payments chat-id)))
-    (if payments
+    (if (find t payments :key #'saver/payment-income-p)
         (bot-send-message chat-id (%saver/format-info payments) :parse-mode "markdown")
-        (bot-send-message chat-id (format nil "Платежей нет, /saver add ...")))))
+        (bot-send-message chat-id (format nil "Нет поступлений, ничего не посчитать :( /saver add ...")))))
 
 (defparameter +saver/add-scanner+ (cl-ppcre:create-scanner "^(.+?) (-?\\d+(?:\\.\\d*)?) ((?:\\d+(?:,\\d+)*(?:-\\d+)?|\\*)(?:\\/\\d+)?(?: (?:\\d+(?:,\\d+)*(?:-\\d+)?|\\*)(?:\\/\\d+)?){0,2})(?: (\\d{4}-\\d{2}-\\d{2}))?$"))