Innokentii Enikeev 3 роки тому
батько
коміт
3c0ec1754d
4 змінених файлів з 12 додано та 11 видалено
  1. 8 7
      plugins/aoc.lisp
  2. 1 1
      plugins/finance.lisp
  3. 1 1
      plugins/music.lisp
  4. 2 2
      utils.lisp

+ 8 - 7
plugins/aoc.lisp

@@ -3,15 +3,16 @@
   (:use :cl :chatikbot.common))
 (in-package :chatikbot.plugins.aoc)
 
-(defparameter +api-uri+ "https://adventofcode.com/2020/leaderboard/private/view/24158.json")
-(defparameter +leader-board-link+ "https://adventofcode.com/2020/leaderboard/private/view/24158")
-(defparameter +advent-time+ (encode-universal-time 0 0 8 25 12 2020 -3))
+(defvar *year* 2021)
+(defvar *api-uri* (format nil "https://adventofcode.com/~A/leaderboard/private/view/24158.json" *year*))
+(defvar *leader-board-link* (format nil "https://adventofcode.com/~A/leaderboard/private/view/24158" *year*))
+(defvar *advent-time* (encode-universal-time 0 0 8 25 12 *year* -3))
 
 (defmethod poller-request ((module (eql :aoc)) method &rest params)
   (declare (ignorable params))
   (let ((cookie (format nil "session=~a" *poller-token*)))
     (handler-case
-        (agets (json-request +api-uri+ :headers `((:cookie . ,cookie))))
+        (agets (json-request *api-uri* :headers `((:cookie . ,cookie))))
       (dex:http-request-failed (e) e))))
 
 (defmethod poller-validate ((module (eql :aoc)) response)
@@ -30,7 +31,7 @@
              collect (list (parse-integer uid) (agets member "name") (parse-integer num) (length completion)))))
 
 (defun get-advent-days-active ()
-  (max 0 (min 25 (- 25 (ceiling (/ (- +advent-time+ (get-universal-time)) 86400))))))
+  (max 0 (min 25 (- 25 (ceiling (/ (- *advent-time* (get-universal-time)) 86400))))))
 
 (defun format-stars(completions)
   (format nil "~{~a~}" (loop for daynum from 1 to (get-advent-days-active)
@@ -43,7 +44,7 @@
                                        (agets member "local_score")
                                        (format-stars (agets member "completion_day_level"))))
                       #'> :key #'second)))
-    (format nil "🏆***Chad AoC Leaderboard***🏆~%~a~%~%~{~a. ~a: ~a ~% ~a~^~%~}" +leader-board-link+
+    (format nil "🏆***Chad AoC Leaderboard***🏆~%~a~%~%~{~a. ~a: ~a ~% ~a~^~%~}" *leader-board-link*
             (apply 'append (mapcar #'cons (alexandria:iota (length sorted) :start 1) sorted)))))
 
 (defun handle-leaderboard ()
@@ -55,7 +56,7 @@
    :parse-mode "markdown"))
 
 (defun format-completion-state-change (diff)
-  (format nil "Обновился лидерборд 🏆***AoC*** 🏆~%~a~%~{~a!~^~%~}" +leader-board-link+ (loop for (uid name daynum completed) in diff
+  (format nil "Обновился лидерборд 🏆***AoC*** 🏆~%~a~%~{~a!~^~%~}" *leader-board-link* (loop for (uid name daynum completed) in diff
                            collect (format nil "***~a*** ебнул ~a задачку ~a дня" name completed daynum))))
 
 (defcron process-aoc (:minute '(member 0 15 30 45))

+ 1 - 1
plugins/finance.lisp

@@ -182,7 +182,7 @@
   (let* ((ts (local-time:timestamp-to-unix (local-time:now)))
          (symbols (db/get-chat-symbols))
          (rates (when symbols (get-rates symbols)))
-         (brent (get-brent))
+         (brent );(get-brent))
          (btc (get-cex-io-btc-usd)))
     (loop for (symbol . price) in rates
        do (db/add-finance ts symbol price))

+ 1 - 1
plugins/music.lisp

@@ -10,7 +10,7 @@
 (defvar *chad-music-stats-url* "http://localhost:5000/api/stats")
 (defvar *chad-music-rescan-url* "http://localhost:5000/api/rescan")
 (defvar *slskd-api* "http://localhost:5015/api/v0")
-(defvar *slskd-downloads-dir* "/data/uploads/batch2/")
+(defvar *slskd-downloads-dir* "/data/upload/batch2/")
 
 (defun jojo-request (url &rest args &key method parameters content headers basic-auth bearer cookie-jar keep-alive use-connection-pool timeout ssl-key-file ssl-cert-file ssl-key-password stream verbose proxy insecure ca-path user-agent (as :plist))
   (declare (ignore method parameters basic-auth cookie-jar keep-alive use-connection-pool timeout ssl-key-file ssl-cert-file ssl-key-password stream verbose proxy insecure ca-path user-agent))

+ 2 - 2
utils.lisp

@@ -256,7 +256,7 @@ is replaced with replacement."
       (setf (quri:uri-scheme uri) "http"))
     (values uri userinfo)))
 
-(defun http-request (url &rest args &key method version parameters content headers basic-auth cookie-jar keep-alive use-connection-pool (max-redirects 5) read-timeout force-binary want-stream ssl-key-file ssl-cert-file ssl-key-password stream verbose proxy insecure ca-path user-agent)
+(defun http-request (url &rest args &key method version parameters content headers basic-auth cookie-jar (keep-alive t) (use-connection-pool t) (max-redirects 5) read-timeout force-binary want-stream ssl-key-file ssl-cert-file ssl-key-password stream verbose proxy insecure ca-path user-agent)
   (declare (ignore method version content basic-auth cookie-jar keep-alive use-connection-pool max-redirects read-timeout force-binary want-stream ssl-key-file ssl-cert-file ssl-key-password stream verbose proxy insecure ca-path))
   (multiple-value-bind (uri userinfo)
       (http-default url parameters)
@@ -272,7 +272,7 @@ is replaced with replacement."
     (apply #'dex:request uri :headers headers args)))
 
 ;; XML processing
-(defun xml-request (url &rest args &key method parameters content headers basic-auth cookie-jar keep-alive use-connection-pool read-timeout ssl-key-file ssl-cert-file ssl-key-password stream verbose proxy insecure ca-path user-agent encoding)
+(defun xml-request (url &rest args &key method parameters content headers basic-auth cookie-jar keep-alive (use-connection-pool t) read-timeout ssl-key-file ssl-cert-file ssl-key-password stream verbose proxy insecure ca-path user-agent encoding)
   (declare (ignore method parameters headers content basic-auth cookie-jar keep-alive use-connection-pool read-timeout ssl-key-file ssl-cert-file ssl-key-password stream verbose proxy insecure ca-path user-agent))
   (remf args :encoding)
   (multiple-value-bind (raw-body status headers uri)